使用 JavaScript 获取经度和纬度,并将其设置为 vars

Get Longitude and Latitude using JavaScript and set these to vars

本文关键字:设置 vars 获取 JavaScript 经度 纬度 使用      更新时间:2023-09-26

今天是我使用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来称呼它

好的,我想将地图居中放在我当前的位置。我知道我可以使用

navigator.geolocation.getCurrentPosition(displayLocation);
function displayLocation(position) {
    var latitude = position.coords.latitude;
    var longitude = position.coords.longitude; 
 }

现在,我对如何将位置对象推回成功处理程序显示位置有点迷茫。无论如何,我怎样才能像这样将纬度和经度传递给 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; 
}

当然,您应该在其中定义这些变量的范围的选择取决于您。另外,请注意,它们将被undefined,直到不调用displayLocation