【发布时间】:2016-12-21 05:18:57
【问题描述】:
我是 Leaflet 的新手,正在练习使用 Open Notify API (http://open-notify.org/Open-Notify-API/) 在地图上跟踪 ISS。创建标记并将其添加到地图后,我调用 Open Notify 提供的以下函数:
function moveISS () {
$.getJSON('http://api.open-notify.org/iss-now.json?callback=?', function(data) {
var lat = data['iss_position']['latitude'];
var lon = data['iss_position']['longitude'];
iss.setLatLng([lat, lon]);
isscirc.setLatLng([lat, lon]);
map.panTo([lat, lon], animate=true);
});
setTimeout(moveISS, 5000);
}
这成功获取了纬度和经度值,但随后出现错误:
Uncaught TypeError: iss.setLatLng is not a function
我知道 Leaflet 文档 (http://leafletjs.com/reference-1.0.2.html#marker-setlatlng) 中存在 setLatLng 方法,那么为什么不调用它呢?是否有其他插件需要先安装才能识别?
【问题讨论】:
-
iss未定义? -
就是这样。我以为我已经在函数之外定义了它,但是我没有看到的地方一定有语法错误。绕圈子认为问题出在 setLatLng 上。
标签: javascript leaflet