leaflet.js地图没有显示出来

时间:2016-05-04 09:36:56

标签: maps leaflet dc.leaflet.js

我是leaflet.js的新手。有人可以帮我调试以下代码吗?我试图在屏幕上显示地图,但只有放大和缩小按钮显示在Google Chrome上,地图屏幕显示为空。

<!DOCTYPE html>
<html lang="en">
    <head>
        <link rel="stylesheet" href="http://cdn.leafletjs.com/leaflet/v0.7.7/leaflet.css" />
        <style>
            #mapid { height: 180px; }
        </style>
    </head>

    <body>
        <div id="mapid"></div>
        <script src="http://cdn.leafletjs.com/leaflet/v0.7.7/leaflet.js"></script>
        <script>
            var mymap = L.map('mapid').setView([51.505, -0.09], 13);
        </script>
    </body>
</html>

2 个答案:

答案 0 :(得分:27)

以下是您更正后的代码:http://plnkr.co/edit/E7dw2AuNbLneYpz51Qdi?p=preview

您的代码中没有磁贴提供程序,因此地图中没有任何内容显示。

查看http://leafletjs.com/examples/quick-start-example.html

的来源
    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=pk.eyJ1IjoibWFwYm94IiwiYSI6ImNpandmbXliNDBjZWd2M2x6bDk3c2ZtOTkifQ._QA7i5Mpkd_m30IGElHziw', {
        maxZoom: 18,
        attribution: 'Map data &copy; <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>',
        id: 'mapbox.streets'
    }).addTo(mymap);

如果您不想使用地图框中的图块,则可以使用openstreet地图

    L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', {
        attribution: '&copy; <a href="http://osm.org/copyright">OpenStreetMap</a> contributors'
    }).addTo(mymap);

答案 1 :(得分:4)

重新阅读Leaflet quick-start tutorial,特别是此位:

  

值得注意的是,Leaflet与提供程序无关,这意味着它不会强制执行特定的tile提供程序选择,并且它甚至不包含单个提供程序特定的代码行。

Leaflet不会添加任何默认地图数据。您可以告诉Leaflet您想要显示哪些数据(矢量要素,图块层)。