我无法在本地工作的基本示例.我所看到的只是一个灰色框,左上角是放大/缩小用户界面,右下角是属性.本质上应该有一张地图的地方是灰色的.
除了从Mapbox获得的api键外,我的代码也是如此.
<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8' />
<title></title>
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.0.3/dist/leaflet.css">
<script src="https://unpkg.com/leaflet@1.0.3/dist/leaflet.js"></script>
<style type='text/css'>
#mapid {
height: 180px;
}
</style>
</head>
<body>
<div id="mapid" style="width: 600px; height: 400px; position: relative; outline:none;" class="leaflet-container leaflet-touch leaflet-fade-anim leaflet-grab leaflet-touch-drag leaflet-touch-zoom" tabindex="0">
</div>
<script>
var mymap = L.map('mapid').setView([51.505, -0.09], 13);
L.tileLayer('https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token=MYMAPBOXAPIKEY', {
attribution: 'Map data © <a href="http://openstreetmap.org">OpenStreetMap</a> contributors, <a href="http://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, Imagery © <a href="http://mapbox.com">Mapbox</a>',
maxZoom: 18,
id: 'your.mapbox.project.id',
accessToken: 'MYMAPBOXAPIKEY'
}).addTo(mymap);
L.marker([40.717192,-74.012042]).addTo(map)
.bindPopup('The Borough of Manhattan Community College.')
.openPopup();
</script>
</body>
</html>
解决方法:
我想您尚未在mapbox帐户中创建一个名为your.mapbox.project.id的项目.
尝试使用“ mapbox.streets”
L.tileLayer('https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token=MYMAPBOXAPIKEY', {
attribution: 'Map data © <a href="http://openstreetmap.org">OpenStreetMap</a> contributors, <a href="http://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, Imagery © <a href="http://mapbox.com">Mapbox</a>',
maxZoom: 18,
id: 'mapbox.streets'
}).addTo(mymap);