[英]navigator.geolocation.getCurrentPosition doesn't work on android google chrome
[英]navigator.geolocation.getCurrentPosition won't reset with new location on Android
我正在尝试构建一个仅需要在移动设备上打开浏览器窗口的跟踪器。 除了navigator.gelocation.getCurrentPosition之外,所有其他代码似乎都可以工作。 如您所见,我使用计时器每隔几秒钟循环一次代码。 我原本希望代码会在一定时间内输出实时位置信息,但是相反,它似乎求助于使用最后一个已知的位置-或如果没有一个,它将找到该位置,然后继续使用相同的位置。
我不确定这是否与Android或我的代码有关,但它似乎在iPhone上能很好地工作-但不是我对它进行了测试,因此我不确定。
提前致谢!
var lati = " "; var longi = " "; function initMap() { var map = new google.maps.Map(document.getElementById('map'), { center: {lat: -34.397, lng: 150.644}, zoom: 15 }); var timerID = setInterval(function() { // Try HTML5 geolocation. if (navigator.geolocation) { var infoWindow = new google.maps.InfoWindow({map: map}); navigator.geolocation.getCurrentPosition(function(position) { var pos = { lat: position.coords.latitude, lng: position.coords.longitude }; lati = (position.coords.latitude); longi = (position.coords.longitude); console.log(lati, "Lol"); infoWindow.setPosition(pos); infoWindow.setContent('lati'); map.setCenter(pos); }, function() { handleLocationError(true, infoWindow, map.getCenter()); }); } else { // Browser doesn't support Geolocation handleLocationError(false, infoWindow, map.getCenter()); } function handleLocationError(browserHasGeolocation, infoWindow, pos) { infoWindow.setPosition(pos); infoWindow.setContent(browserHasGeolocation ? 'Error: The Geolocation service failed.' : 'Error: Your browser doesn\\'t support geolocation.'); } //in a loop (setInterval) get coords and apply them to database { $.ajax({ url: 'php_test.php', data: {'Lati': lati, 'Longi': longi}, type: 'post', dataType:'json', success: function(output) { alert(output); } }); } }, 2 * 1000); }
我面临着同样的问题,但是我意识到调试不正确的来源不赞成使用getCurrentPosition。
也许您可以实现“ 如何在Android中以编程方式获取当前GPS位置”之类的功能?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.