所以我在设计师为我创作的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>
答案 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);
这可以从样式目录的右侧复制。
我希望这对像我这样挣扎的人有帮助。)