今天是我使用Google Maps API的第一天。现在我有一个ID为“map”的DIV代码如下......
function initializeMap() {
var opts = {
center: new google.maps.LatLng( 0, 0), // ignore the zero values for now
zoom: 10,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById('map'), opts);
geocoder = new google.maps.Geocoder();
}
我使用window.onload = initializeMap
好的,我想将地图置于当前位置。我知道我可以使用
获得long和latnavigator.geolocation.getCurrentPosition(displayLocation);
function displayLocation(position) {
var latitude = position.coords.latitude;
var longitude = position.coords.longitude;
}
现在我对位置对象如何被推回到成功处理程序displayLocation感到有点迷茫。无论如何我怎么能通过纬度&对于如此初始化的initializeMap()函数的经度......
center: new google.maps.LatLng( latitude, longitude)
我目前正在查看Google Maps API文档,因为我确信有一种方法可以解决这个问题,但我想在不同的函数中使用纬度,经度,所以我想我问我该如何制作这些变量可供所有函数访问(如全局但不是全局),而不仅仅可用于displayLocation
函数。对不起,如果措辞不当......如果我让人困惑,请说出来,我会重新提出这个问题。
答案 0 :(得分:0)
宣布
var latitude, longitude;
进入父范围,所以函数是
function displayLocation(position) {
latitude = position.coords.latitude; /* no var keyword */
longitude = position.coords.longitude;
}
当然,您应该选择定义这些变量的范围取决于您。另请注意,在undefined
未被调用
displayLocation