如何在传单上选择特定路线?
我想绘制一张地图上绘制的路线很少。
我想要一个带有数字1,..,n的保管箱
选择保管箱中的项目时,相应的路线会在地图上突出显示。
我已经开始使用“传单”了。
1)如何在地图上用js选择特定的特征(例如线条)?
我看到了如何从function集合中过滤,而不是如何从地图上的所有function中进行选择(例如,通过属性X)
$('select[name="dropdown"]').change(function() { var item = $(this).val(); alert("call the do something function on option " + item); //how to make the chosen line highlighted ?? });
我从你的另一个问题得到的是你的路线来自GeoJSON文件,每个function都有一个属性“id”。
您可以使用Leaflet的geoJson.foreach
来迭代所有function。 然后使用每个function检查它是否符合您要查找的条件,在您的情况下,将选择选项的值与GeoJSONfunctionID进行比较。
通过输入var geojson;
在loadMap()
函数之外,您可以将其全局访问,并且可以在jQuery函数中使用它。
$('select[name="dropdown"]').change(function() { var item = $(this).val(); geojson.eachLayer(function (layer) { try { if(layer.feature.geometry.properties.id == item){ highlightFeature({ "target": layer }) } else { resetHighlight({ "target": layer }) } } catch(e) {} }); });
演示: http : //plnkr.co/edit/NBTLbs?p = preview