Marker Mein aktueller Code lediglich bindet dieser JSON-Datei entsprechend den Daten unter Verwendung hinzufügenWie Markierungen auf verschiedenen Ebenen in Faltblatt onEachFeature und GeoJSON
{"type": "FeatureCollection",
"features": [{
"geometry": {"type": "Point", "coordinates": [53.8460456,-38.9135742]},
"type": "Feature",
"properties":{"name": "red"}]}
und mein Code sieht ungefähr so aus:
var blueLayer = new L.LayerGroup();
var redLayer = new L.LayerGroup();
var map = L.map('mapid', {
center: [53.8460456,-38.9135742],
zoom: 12,
layers: [blueLayer, redLayer]
});
L.tileLayer('https://api.mapbox.com/styles/v1/n-alathba/cj2fzxjgl00bl2rqno6mtb9wg/tiles/256/{z}/{x}/{y}?access_token=pk.eyJ1Ijoibi1hbGF0aGJhIiwiYSI6ImNqMmZ6bTQ2cDAwNDIyeW8wY2hidjFxdjUifQ.TyQ2WNEMtCO3Q84PYXlAEA', {
attribution: 'Tiles by <a href="http://mapc.org">MAPC</a>, Data by <a href="http://mass.gov/mgis">MassGIS</a>',
maxZoom: 18,
minZoom: 1,
}).addTo(map);
function onEachFeature(feature, layer) {
return;
}
var link = './data/events2.json' //file above
$.getJSON(link, function(events) {
L.geoJSON(events, {
style: function(feature) {
return feature.properties && feature.properties.style;
},
onEachFeature: onEachFeature,
pointToLayer: function(feature, latlng) {
return L.marker(latlng); }
}).addTo(map);
Allerdings würde ich mag Marker zu verschiedenen Schichten hinzufügen, anstatt sie alle direkt auf die Karte Bindung, damit ich etwas tun kann:
function onEachFeature(feature,layer){
if(feature.properties.name == "red"){ //do something that binds associated marker to red layer)
else{//do something that binds associated marker to bluelayer}}
es half, danke :) – heba