Javascript 如何选择传单上的特定路线?

Javascript 如何选择传单上的特定路线?,javascript,jquery,google-maps,maps,leaflet,Javascript,Jquery,Google Maps,Maps,Leaflet,我想画一张有几条路线的地图 我想要一个数字为1,…,n的dropbox 选择dropbox中的项目后,相应的路线将在地图上高亮显示 我已经开始使用“传单” 1) 如何使用js选择地图上的特定功能(如线条) 我看到了如何从要素集合中进行过滤,但没有看到如何从地图上的所有要素中进行选择(例如,通过属性X) 我从中得到的是,您的路由来自一个GeoJSON文件,每个特性都有一个属性“id” 您可以使用传单对所有功能进行迭代。然后检查每个功能是否符合您要查找的标准,在您的情况下,将选择选项的值与GeoJ

我想画一张有几条路线的地图

我想要一个数字为1,…,n的dropbox

选择dropbox中的项目后,相应的路线将在地图上高亮显示

我已经开始使用“传单”

1) 如何使用js选择地图上的特定功能(如线条)

我看到了如何从要素集合中进行过滤,但没有看到如何从地图上的所有要素中进行选择(例如,通过属性X)

我从中得到的是,您的路由来自一个GeoJSON文件,每个特性都有一个属性“id”

您可以使用传单对所有功能进行迭代。然后检查每个功能是否符合您要查找的标准,在您的情况下,将选择选项的值与GeoJSON功能id进行比较

通过放置
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) {}
  });
});
演示:

$('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) {}
  });
});