Selecting leaflet markers based on Json features

المشرف العام

Administrator
طاقم الإدارة
I have data coming from a Json file and I created a layer based on this Json file using markerClusterGroup. I am hitting the wall trying to do two things:

1 - Select some markers based on some Json's feature ("temperatura", "salinidade","corrente", "profundidade" e "geofisico") in xbt.json and using a select list in the HTML:

temperatura salinidade corrente profundidade geofisico2 - Change the marker icon using the function and code below;

var greenIcon = L.icon({ iconUrl: 'icon/leaf-green.png', shadowUrl: 'icon/leaf-shadow.png', iconSize: [38, 95], // size of the icon shadowSize: [50, 64], // size of the shadow iconAnchor: [22, 94], // point of the icon which will correspond to marker's location shadowAnchor: [4, 62], // the same for the shadow popupAnchor: [-3, -76] // point from which the popup should open relative to the iconAnchor});That is how I am adding the json to the map using popups and makercluster:

var xbt = getJson('geojson/xbt.json');var markers_xbt = L.markerClusterGroup();var estacoes_xbt = L.geoJson(xbt, { onEachFeature: function (feature, layer) //functionality on click on feature { layer.bindPopup("Navio: "+feature.properties.navio+"
"+"Comissao: "+feature.properties.comissao+"
"+ "Bandeira do Navio:"+feature.properties.naviobandeira+"
"+"Equipamento: "+feature.properties.equipamento+"
"+ "Inicio da Comissao:"+feature.properties.iniciocomissao+"
"+"Fim da Comissao : "+feature.properties.fimcomissao+"
"+"Data de Lancamento: "+ feature.properties.estacaodata+"
"+"Hora de Lancamento: " +feature.properties.estacaohora+"
"+"Quadrado de Marsden: "+feature.properties.quadrado+"
"+"Subquadrado de Marsden: "+feature.properties.subquadrado ); //just to show something in the popup. could be part of the geojson as well! } }); markers_xbt.addLayer(estacoes_xbt); // add it to the cluster group map.addLayer(markers_xbt); // add it to the map map.fitBounds(markers_xbt.getBounds()); //set view on the cluster extendThank you for your time.



أكثر...
 
أعلى