0

我编写了一个 JavaScript 来获取用户地理位置。它给了我纬度和经度,据此我在地图中绘制了用户位置,但是当我在谷歌地图中检查该位置的纬度和经度时,它是不同的,因此它绘制了错误的位置。

function map()
{
    if (navigator.geolocation) {
        browserSupportFlag = true;
        navigator.geolocation.getCurrentPosition(function (position) {
            initialize(position.coords.latitude,position.coords.longitude);
        }, function () {
            handleNoGeolocation(browserSupportFlag);
        });
    } else {
        browserSupportFlag = false;
        handleNoGeolocation(browserSupportFlag);
}

请让我知道如何使用navigator.geolocation.

4

1 回答 1

2

地理位置功能通过使用可通过各种来源获得的地理位置信息来工作,具体取决于设备。这包括卫星数据、无线电跟踪设备、互联网硬件以及无线通信设备。更准确地说,该系统利用 GPS、RFID、IP 地址、Wi-Fi 和蓝牙 Mac ID 或移动电话塔和手机 ID。因此,如果您正在尝试浏览器,那么这将取决于浏览器及其设置。它可能使用 GPS、基于 WLAN AP 的定位、IP 定位或任何其他可想象的定位自身的方法。

浏览器在您的本地计算机上运行,​​因此即使您使用代理,它也应该能够找到您的实际 IP 地址(除非安全功能阻止将其发送到地理定位服务器进行查找)。否则,如果您在打开 gps 的移动设备上尝试,那么根据我过去使用地理定位 api 的经验,它应该提供具有良好准确性的结果

于 2012-09-20T08:52:23.173 回答