gpt4 book ai didi

javascript - 同时设置点和多边形的样式 Leaflet

转载 作者:行者123 更新时间:2023-12-03 06:41:24 24 4
gpt4 key购买 nike

我正在开发一个应用程序,您可以在其中在 map 上显示。为了改进应用程序,我还添加了显示multipolygons 的功能。

我创建了一个下拉菜单,您可以在其中选择数据集。一个是包含商店(点)的数据集,另一个包含区域(多边形)。一切正常,我可以在 map 上显示点或多边形。

因为我构建的应用程序只首先显示点,所以我只设置了点的样式(请参阅下面的代码)。

var myStyle = {
"color": "#ff7800",
"weight": 5,
"opacity": 0.65
};

window["mapDataLayer"] = L.geoJson(geojson, {
pointToLayer: function (feature, latlng) {
var markerStyle = {
fillColor: getColor(feature.properties.Fastfoodketen),
color: "#696969",
fillOpacity: 0.6,
opacity: 0.9,
weight: 1,
radius: 8
};
return L.circleMarker(latlng, markerStyle);
},
onEachFeature: function (feature, layer){
layer.on({
click: function showResultsInDiv() {
var d = document.getElementById('tab4');
d.innerHTML = "";
for (prop in feature.properties){
d.innerHTML += prop+": "+feature.properties[prop]+"<br>";
}
$('.nav-tabs a[href="#tab4"]').tab('show');
}
}); },
style: myStyle
}).addTo(map);

现在我想设置多边形的样式。 如何更改上面的代码以也包含多边形?

我认为这是一个好方法,包括一个 if/else 循环来检查几何图形是一个点还是一个多边形,然后直接进行适当的样式。但是,我不知道如何检查几何图形是否是点/多边形。

最佳答案

这由 Leaflet documentation on GeoJSON options 涵盖(强调我的):

pointToLayer: A Function defining how GeoJSON points spawn Leaflet layers.[...]

style: A Function defining the Path options for styling GeoJSON lines and polygons, [...]

您可以在 Leaflet tutorials for GeoJSON 中查看相关示例

关于javascript - 同时设置点和多边形的样式 Leaflet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37941430/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com