【发布时间】:2014-05-18 17:19:47
【问题描述】:
我是 mapbox 和传单的新手,如果这有点基本,我提前道歉。我正在尝试加载带有标记的地图。但是,我收到了这个错误,我不确定如何调试它。 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);
});
});
【问题讨论】:
-
您没有在这部分代码中阅读
lat属性。您确定这是触发错误的原因吗? -
cannot read property 'insert name here' of undefined表示您正在尝试读取对象的属性,但该对象不存在。但是您显示的代码并未显示您尝试访问任何东西的lat属性,例如someObject.lat -
对。但是 self.map.addLayer(connector) 抛出错误,调用堆栈的底部发生在wax.leaf.js 中,大约在第 2029 行,即 Reqwest!包括在内,wax.leaf.js 的那部分被丑化和最小化,所以很难判断我试图在哪个对象上调用“lat”,或者为什么该对象未定义。
-
实际上,mapbox.js 会在堆栈底部抛出错误,并且由于其丑陋,因此难以阅读。但这是我认为发生错误的地方。我相信 o 或 e 是“未定义的”,但我不确定它们是如何定义的。 e=this._southWest,i=this._northEast,n=t.getSouthWest(),o=t.getNorthEast(),a=o.lat>=e.lat&&n
-
请使用 Mapbox.js,而不是 Wax:mapbox.com/mapbox.js/api/v1.6.2 - Wax 已被弃用一年多。
标签: javascript leaflet mapbox