使用JavaScript获取经度和纬度,并将其设置为vars
今天是我使用谷歌地图API的第一天。现在我有一个id为“map”的DIV,下面的代码使用JavaScript获取经度和纬度,并将其设置为vars,javascript,google-maps,Javascript,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.ROADMA
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
好的,我想把地图放在我当前位置的中心。我知道我可以使用长时间和长时间
navigator.geolocation.getCurrentPosition(displayLocation);
function displayLocation(position) {
var latitude = position.coords.latitude;
var longitude = position.coords.longitude;
}
现在我对position对象如何被推回success handler displayLocation有点不知所措。无论如何,我怎样才能像这样将纬度和经度传递给initializeMap()函数
center: new google.maps.LatLng( latitude, longitude)
我目前正在查看Google Maps API文档,因为我确信有一种方法可以实现这一点,但我想在不同的函数中使用纬度和经度,所以我想我是在问如何让所有函数都可以访问这些变量(比如全局变量,但不是坏的全局变量)而不是仅对displayLocation
功能可用。对不起,如果这是措词不当。。。如果我把人搞糊涂了,请说,我会改写这个问题。只需声明
var latitude, longitude;
进入父作用域,因此函数
function displayLocation(position) {
latitude = position.coords.latitude; /* no var keyword */
longitude = position.coords.longitude;
}
当然,定义这些变量的范围取决于您自己。另外,请注意它们将
未定义
,直到displayLocation
未调用Cheers,我所做的是window.onload=function(){navigator.geolocation.getCurrentPosition(displayLocation);}然后调用displayLocation()函数中的initializeMap(),Cheers