jew*_*huq -1 javascript google-maps google-maps-api-3
我一直在尝试在我的一个项目中使用Google Maps API,问题是即使允许位置访问(它是一个网站项目),它也没有向我显示当前的确切位置.我的意思是它输出的位置,但200米之外.当我尝试在同一设备上使用谷歌地图的网络版时,它向我显示当前位置+ -20米.我们正试图找到确切的经度和纬度.这是JavaScript
function getCurrentLocation() {
var options = {
enableHighAccuracy: true,
timeout: 5000,
maximumAge: 0
}
}
// Try HTML5 geolocation.
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position) {
var pos = {
lat: position.coords.latitude,
lng: position.coords.longitude
};
var lat_and_long = pos.lat+","+pos.lng;
$("#geocomplete").geocomplete("find", lat_and_long);
}
}
$("#geocomplete").bind("geocode:dragged", function(event, latLng){
$("input[name=lat]").val(pos.lat());
$("input[name=lng]").val(pos.lng());
$("#reset").show();
console.log(latLng);
});
console.log(pos);
function handleLocationError(browserHasGeolocation, infoWindow, pos) {
infoWindow.setPosition(pos);
infoWindow.setContent(browserHasGeolocation ?
'Error: The Geolocation service failed.' :
'Error: Your browser doesn\'t support geolocation.');
infoWindow.open(map);
}
Run Code Online (Sandbox Code Playgroud)
我们使用以下Google API与jQuery地理编码和地方自动完成插件(1.7.0)
https://maps.googleapis.com/maps/api/js?libraries=places&key=AIzaSyDJ2bLO-XXXXXXX"
Google maps API根据以下来源提供位置:
GPS:通过使用卫星(最多约20米)为您提供位置,有时它不准确,如恶劣的天气条件,地下或您是否在建筑物内.
Wi-Fi:Wi-Fi网络IP地址的位置.
蜂窝塔:您与移动蜂窝网络塔的连接可以精确到几千米.
桌面浏览器:浏览Mozilla Firefox和Google Chrome等桌面浏览器时,依赖于本地网络信息,例如计算机等信号IP address
.如果您允许共享有关附近无线接入点的信息,并且IP address
将与Google位置服务共享以估算您的位置,则您的浏览器会要求您共享您 的位置.位置的准确性因地点而异.
移动浏览器: Chrome,Safari,Opera等移动浏览器使用的GPS sensors
不是WiFi网络.
now enableHighAccuracy
选项属性提供了一个提示,即应用程序希望获得最佳结果.这可能导致响应时间变慢或功耗增加.
根据W3C的地理位置API文档(https://w3c.github.io/geolocation-api/#high-accuracy)No guarantee is given that the API returns the device's actual location
.
Geolocation API定义了与仅与托管实现的设备相关联的位置信息的高级接口,例如纬度和经度.API本身与底层位置信息源无关.常见的位置信息源包括全球定位系统(GPS)和从网络信号推断的位置,例如IP地址,RFID,WiFi和蓝牙MAC地址,以及GSM/CDMA小区ID,以及用户输入.不保证API返回设备的实际位置.
归档时间: |
|
查看次数: |
2881 次 |
最近记录: |