gpt4 book ai didi

javascript - 使用 mapbox 和 leaflet 获取 "Uncaught TypeError: Cannot read property ' lat' of undefined"

转载 作者:行者123 更新时间:2023-12-01 16:51:43 24 4
gpt4 key购买 nike

我是 mapbox 和传单的新手,如果这有点基础,我提前道歉。我正在尝试加载带有标记的 map 。但是,我收到此错误并且我不确定如何调试它。 self.map.addLayer(connector) 抛出错误。有谁知道我做错了什么?谢谢。

buildMap: function() {
console.log('buildMap() function...');
var lat, lng,
self = this;

navigator.geolocation.getCurrentPosition(function(data) {
var lat, lng, latlng;
lat = data['coords']['latitude'];
lng = data['coords']['longitude'];
debugger;

self.map.remove();
self.map = new L.mapbox.map('map', 'bmy78.map-z27ovm6p')
.setView(new L.LatLng(lat, lng), 15);

console.log('lat', lat);
console.log('lng', lng);

// use mapbox
mapboxUrl = "http://a.tiles.mapbox.com/v3/bmy78.map-z27ovm6p.jsonp";
wax.tilejson(mapboxUrl, function(tilejson) {
connector = new wax.leaf.connector(tilejson);
self.map.addLayer(connector);
});
});

最佳答案

如果你想防止Map“未定义”。

首先将您的 map 变量声明为公共(public) js 变量(在您的 html 文档的头部和任何函数之外)

var map;

接下来,在文档就绪函数中构建 map (以确保正确加载传单),

$( document ).ready(function() {
map= L.mapbox.map('map', 'bmy78.map-z27ovm6p')
//here you try to ask the user position then setView to map
}

您现在可以访问 map 变量而不会出现任何“未定义错误”,

最好的问候

关于javascript - 使用 mapbox 和 leaflet 获取 "Uncaught TypeError: Cannot read property ' lat' of undefined",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23724735/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com