为什么我在osm中收到此错误?

时间:2013-07-22 15:34:01

标签: javascript dojo leaflet openstreetmap

我最近开始研究dojo和osm,所以这可能是一个简单的问题,但我无法弄清楚为什么我会收到此错误。我必须从osm加载地图的dojo代码如下:

function InitMap() {
    map = L.map('map').setView([ 51.4848, -0.20325 ], 8);
    var osmUrl = 'http://{s}.tile.cloudmade.com/BC9A493B41014CAABB98F0471D759707/997/256/{z}/{x}/{y}.png';
    // 'http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png';

    L
            .tileLayer(
                    osmUrl,
                    {
                        maxZoom : 18,
                        attribution : 'Map data &copy; <a href="http://openstreetmap.org">OpenStreet1Map</a> contributors, <a href="http://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, Imagery  <a href="http://cloudmade.com">CloudMade</a>'
                    }).addTo(map);


    var popup = L.popup();

    function onMapClick(e) {
        popup.setLatLng(e.latlng).setContent(
                "You clicked the map at " + e.latlng.toString()).openOn(map);
    }
    map.on('click', onMapClick);
}

我在浏览器控制台中遇到的错误是: ReferenceError:L未定义但功能方面没有问题。 请让我知道我在哪里做错了。

1 个答案:

答案 0 :(得分:1)

我不是OSM专家,但我认为你可能错过了一个脚本文件。

查看http://www.openstreetmap.org/的来源我看到全局变量L是作为第一个脚本(/assets/application-67bdd93f2bbf379cc96f0e9af383c99c.js

的一部分创建的