Mapbox,获取已创建地图的地图ID

时间:2016-03-26 15:39:11

标签: google-maps leaflet mapbox

所以我在设计师为我创作的Mapbox中设置了一个小地图,特别是地图样式。

我可以访问她的帐户,我可以在进入account -> styles后立即查看地图。所以我的问题是,如何在我的自定义标记等基础上构建她的设计?

我尝试下载json文件以找到ID,但没有运气。当你点击样式时,还试图从URI复制东西,仍然没有ID。如果您需要更多解释,我可以尽力为您提供解释。

到目前为止,我的HTML看起来像这样。

<html>
    <head>
        <meta charset=utf-8 />
        <title>A simple map</title>
        <meta name='viewport' content='initial-scale=1,maximum-scale=1,user-scalable=no' />
        <script src='https://api.mapbox.com/mapbox.js/v2.3.0/mapbox.js'></script>
    <link href='https://api.mapbox.com/mapbox.js/v2.3.0/mapbox.css' rel='stylesheet' />

    <style>
      body { margin:0; padding:0; }
      #map { position:absolute; top:0; bottom:0; width:100%; }
    </style>
    </head>
    <body>
        <div id='map'></div>
        <script>
        L.mapbox.accessToken = 'token';
        var map = L.mapbox.map('map', 'ciltdxqbt00jef7m0y99qpkt2')
            .setView([40, -74.50], 9);
        </script>
    </body>
</html>

1 个答案:

答案 0 :(得分:0)

其实我自己找到了解决方案。我无法理解为什么我可以获得在编辑器中创建的地图的ID而不是使用Visual Studio创建的地图的ID。

傻傻我!

所以唯一的区别是非常小,它只是你引用它的方式!

让我解释一下:)

使用编辑器创建的地图通常会执行以下操作:

L.mapbox.accessToken = 'accesstoken;  
// map refers to a <div> element with the ID map
// mapbox.streets is the ID of a map on Mapbox.com
var map = L.mapbox.map('map', 'mapbox.streets');

我在这里引用了一个来自mapbox的ID为streets的地图,您可以在编辑器中从最后的网址创建地图时获取ID,例如https://www.mapbox.com/editor/?id=*username*.ph8b3e4a#saved

ph8b3e4a将是一个id。所以要制作地图,你可以做这样的事情

L.mapbox.accessToken = 'accesstoken;  
// map refers to a <div> element with the ID map
// mapbox.streets is the ID of a map on Mapbox.com
var map = L.mapbox.map('map', *username*.ph8b3e4a');

但是如果地图是在Mapbox Studio中创建的,那就是这样做的。

L.mapbox.accessToken = 'accesstoken;
    var map = L.mapbox.map('map')
    .setView([38.97416, -95.23252], 15);
    L.mapbox.styleLayer('mapbox://styles/*username*/*style*').addTo(map);

这可以从样式目录的右侧复制。

我希望这对像我这样挣扎的人有帮助。)