传单上的自定义标记未加载

时间:2014-07-29 16:29:51

标签: javascript leaflet

在传单中,我们尝试加载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的唯一原因是出于测试目的,一旦我们将基础知识关闭就会改变它。

1 个答案:

答案 0 :(得分:0)

对于大多数传单项目,L.Marker是其中一个对象的典型语法。典型的语法是

marker = new L.Marker()

传单的另一个功能是为您创建新标记的功能。那个项目是小写的。

marker = L.marker()

这使用“new”运算符并返回已创建的新标记。

您的错误来自

return new L.circleMarker(latlng, options);

应该只是

return L.circleMarker(latlng, options);