在传单中,我们尝试加载geoJSON点文件的自定义标记。使用默认标记时,除了花费很长时间加载外,图层的加载完全正常。然而,当我们尝试使用pointToLayer函数将标记更改为自定义标记时,整个图层似乎消失了。 以下是特定自定义标记的代码:
var manholeMarkerOptions = {
radius : 8,
fillColor : "#ff7800",
color : "#000",
weight : 1,
opacity : 1
};
//Creates a variable to grab GeoJSON from GitHub repository and calls the popUpmanholes function to occur on each click.
var manholes = new L.GeoJSON.AJAX('https://cdn.rawgit.com/alecia-patton/LeafletTest/master/manholes.geojson', {
onEachFeature : popUpmanholes,
pointToLayer : function(feature, latlng) {
return new L.circleMarker(latlng, manholeMarkerOption);
}
});
以下是GITHub的链接:
https://github.com/SamBFry/Leaflet-Tests/blob/master/leafletTestIndex.html
我们使用GITHub作为CDN的唯一原因是出于测试目的,一旦我们将基础知识关闭就会改变它。
答案 0 :(得分:0)
对于大多数传单项目,L.Marker是其中一个对象的典型语法。典型的语法是
marker = new L.Marker()
传单的另一个功能是为您创建新标记的功能。那个项目是小写的。
marker = L.marker()
这使用“new”运算符并返回已创建的新标记。
您的错误来自
return new L.circleMarker(latlng, options);
应该只是
return L.circleMarker(latlng, options);