在 Mapbox 中添加多个 geoJSON 图层

Adding several geoJSON layers in Mapbox

我有两个geoJSON文件,一个是用来画线的(states.js),另一个是用来在地图上添加标记的(marker.js)。

但是,当我添加一行本应添加标记层的代码时,却没有任何效果。

var markerLayer = L.mapbox.featureLayer(markers).addTo(map);

我应该如何处理这个问题?我认为 featureLayer 可以添加多个图层,但似乎效果不佳。非常感谢帮助。

到目前为止的工作示例:Plunker

我下面的例子是 here

这里有几处错误。你忘了声明你的全局 L.mapbox.accessToken:

    L.mapbox.accessToken = 'pk.eyJ1Ijoia2thZ2lsbCIsImEiOiJjaWdsdmJjeWkwMjMwdWFrcjI4eGZ3MGd2In0.WslWCpxaXxUOgUZP_VT1cg';

您要添加 statesData 两次,一次在 L.mapbox.featureLayer 中,一次在 L.GeoJSON 中:

var statesLayer = L.mapbox.featureLayer(statesData).addTo(map);

statesLayer = L.geoJson(statesData, {
    style: style,
    onEachFeature: onEachFeature
}).addTo(map);

一次就够了:这里有一个关于 Plunker 的例子:http://plnkr.co/edit/kV8h69VJt2jtpqwdCpJo?p=preview