【发布时间】:2011-09-01 17:30:16
【问题描述】:
接下来我会做:
第一件事 - 我正在检查我是否已经加载了纬度和经度数据。如果有,我会将其保存到名为“location”的数组中。
第二件事 - 如果我没有任何加载的数据,我正在尝试获取当前位置。之后,我试图保存当前位置的纬度和经度。 最后,我调用 setMap();检查位置数组和生成地图的函数。
问题:
好吧,正如我所说...在“getCurrentPosition”中,我试图将当前位置设置为“location”数组,然后我试图将这些值放入 setMap();功能。这是问题所在,但仅当我在“getCurrentPosition”中设置“位置”值时。如果我之前手动设置“位置”值(来自“数据”数组),一切正常。 此外,当我在“getCurrentPosition”中调用 setMap() 函数时,一切正常……但是当我从外部调用它时,将无法正常工作。 有人可以解释一下这是怎么回事吗?我该怎么办?
这是我的代码:
location = new Array();
if (data.lat) {
location['lat'] = data.lat;
location['lng'] = data.lng;
} else {
if (!navigator.geolocation) {
//
} else {
navigator.geolocation.getCurrentPosition(function(position) {
location['lat'] = position.coords.latitude;
location['lng'] = position.coords.longitude;
});
}
}
setMap();
谢谢。
【问题讨论】:
-
好的,我在这里发现了一些有趣的东西:stackoverflow.com/questions/7189492/…
标签: javascript api google-maps geolocation