Saya mencoba untuk menempatkan pada peta Leaflet geojson dan semua berfungsi dengan baik sampai saya menggunakan penanda blu default.
Sekarang saya ingin menggunakan marker khusus (ikon .png kecil) dan saya telah mengubah kode saya di follow
var my_json;
$.getJSON('../Dati/my-geojson.geojson', function(data) {
my_json = L.geoJson(data, {
pointToLayer: function(feature, latlng) {
var smallIcon = L.Icon({
options: {
iconSize: [27, 27],
iconAnchor: [13, 27],
popupAnchor: [1, -24],
iconUrl: 'icone/chapel-2.png'
}
});
return L.marker(latlng, {icon: smallIcon});
},
onEachFeature: function (feature, layer) {
layer.bindPopup(feature.properties.ATT1 + '<br />'
+ feature.properties.ATT2);
}
});
my_json.addTo(markers.addTo(map));
TOC.addOverlay(my_json, "My layer name in TOC");
map.removeLayer(my_json);
});
kesalahan yang bisa saya lihat di Firebug adalah
TypeError: this.options.icon is undefined
var anchor = L.point(this.options.icon.options.popupAnchor || [0, 0]);
ada yang tidak beres tapi saya tidak tahu bagaimana cara memperbaikinya.
L.Icon
seharusnyanew L.Icon
new
tanpa itu ... Saya tidak punya penjelasan di sini :(Maafkan saya jika saya salah karena saya agak baru ini, tapi saya melihat bahwa Anda dieja sebagai L.Icon dengan modal saya . Mungkin versinya lebih baru atau sesuatu tetapi tidak berfungsi ketika saya mengejanya seperti itu. L.icon dengan kecil saya bekerja dengan baik untuk saya.
Anda juga menggunakan nama huruf kecil dalam pernyataan pengembalian.
sumber