我正在开发一个可以在地图上显示points
的应用程序。为了改进应用程序,我还添加了show multipolygons
的功能。
我已经创建了一个可以选择数据集的下拉菜单。一个是包含商店(点)的数据集,另一个是包含区域(多重多边形)。一切正常,我可以在地图上显示点或多边形。
因为我将应用程序构建为仅首先显示点,所以我只设计了点(请参阅下面的代码)。
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循环来检查几何是一个点还是一个多边形,然后指向相应的样式是一个好方法。但是,我不知道如何检查几何是否为点/多边形。
答案 0 :(得分:1)
这由this(强调我的)所涵盖:
中查看相关示例
pointToLayer
:定义GeoJSON 点如何生成Leaflet图层的Function
。[...]
style
:Function
定义用于样式化GeoJSON 线条和多边形的Path
选项,[...]