我编写了一个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
获得准确的纬度和经度。
答案 0 :(得分:2)
地理定位功能通过使用根据设备使用的各种来源提供的地理位置信息来工作。这包括卫星数据,无线电跟踪设备,互联网硬件以及无线通信设备。 更确切地说,该系统利用GPS,RFID,IP地址,Wi-Fi和蓝牙Mac ID或移动电话塔和手机ID。因此,如果您尝试使用浏览器,那将取决于浏览器及其设置。它可能使用GPS,基于WLAN AP的位置,IP位置或任何其他可以想到的定位方法。
浏览器在您的本地计算机上运行,因此即使您在代理后面,它也应该能够找到您的实际IP地址(除非安全功能阻止将其发送以查找地理定位服务器)。 其他 如果您正在尝试打开gps的移动设备,那么它应该提供具有良好准确性的结果,这与我过去使用地理位置api的经验相比较