0

我有一个 MapBox 地图,上面有通过 MapBox 网站创建的图钉。

我用我网站上的那些图钉来调用这张地图。

我一生都无法找到任何相关的代码来做两件事:

1)我需要修改预制点的 GeoJSON 数据以向它们添加 URL(执行以下操作:https ://www.mapbox.com/mapbox.js/example/v1.0.0/markers-as -链接/)。如何在 JS 中访问这些现有对象?我看到的唯一代码示例让您直接在代码中创建点/GeoJSON 数据。

2) 以编程方式切换我通过 TileMill 添加到此地图的图层。我有一个高亮层,我想在我的 HTML 页面上创建一个 UI 元素来打开和关闭。

谢谢你。

编辑:

没有做任何疯狂的事情来调用地图。

var map = L.mapbox.map('map', 'aam.map-ryzkcons');

然后我设置了一些坐标和缩放级别。

map.setView([34.89, -87.31], 6);

把它全部打开

map.markerLayer.on('click', function(e) {
map.panTo(e.layer.getLatLng()); 
});

地图 aam.map-ryzkcons 是在 mapbox 的 Web UI 中制作的。它还有一些我通过 TileMill 上传的图层。我想弄清楚如何在代码中打开和关闭任何这些层。我还想访问标记并向它们添加 URL 标记以使它们可点击——因为我在 Web UI 中看不到这样做的方法。我能找到的唯一示例是,您是否事先在代码中创建标记,而不是像我所做的那样在 Web UI 中创建标记。我想保持这种状态,所以维护者可以去 mapbox.com 添加一个标记。

4

1 回答 1

1

切换我通过 TileMill 以编程方式添加到此地图的图层。我有一个高亮层,我想在我的 HTML 页面上创建一个 UI 元素来打开和关闭。

请参阅图层控制示例

如何在 JS 中访问这些现有对象?

等待就绪事件,然后用于getGeoJSON获取数据,或eachLayer迭代层。使用API 文档作为参考。

于 2013-11-13T16:50:18.853 回答