如何与从 Leaflet 中的 .kml 文件绘制的邮政编码叠加层进行交互
How to interact with zipcode overlay drawn from .kml file in Leaflet
我有一个 .kml 文件,其中包含我已加载到我的 Leaflet webapp 中的邮政编码多边形。我想对形状进行一些样式设置和交互。我用来绘制它们的代码很简单:
var mymap = L.map('mapid').setView([45.2271, -80.8431], 10);
omnivore.kml('my-file.kml').addTo(mymap);
我想使用 jQuery 或其他一些库来进行交互。大概是通过将某种 class 或 id 附加到形状上。
有谁知道这种方法是否可行?
您不需要 Jquery 或任何其他库。只需传递一个自定义 L.GeoJSON
层,您就可以使用它的所有功能,例如样式和交互:
omnivore.kml('data.kml', null, new L.GeoJSON(null,{
style: function () {
return {
color: 'red'
}
},
onEachFeature: function (feature, layer) {
layer.on('click', function () {
alert('Clicked!');
});
}
})).addTo(map);
我有一个 .kml 文件,其中包含我已加载到我的 Leaflet webapp 中的邮政编码多边形。我想对形状进行一些样式设置和交互。我用来绘制它们的代码很简单:
var mymap = L.map('mapid').setView([45.2271, -80.8431], 10);
omnivore.kml('my-file.kml').addTo(mymap);
我想使用 jQuery 或其他一些库来进行交互。大概是通过将某种 class 或 id 附加到形状上。
有谁知道这种方法是否可行?
您不需要 Jquery 或任何其他库。只需传递一个自定义 L.GeoJSON
层,您就可以使用它的所有功能,例如样式和交互:
omnivore.kml('data.kml', null, new L.GeoJSON(null,{
style: function () {
return {
color: 'red'
}
},
onEachFeature: function (feature, layer) {
layer.on('click', function () {
alert('Clicked!');
});
}
})).addTo(map);