我用Javascript编写了一个函数,该函数用当前用户的位置更新Google Map的中心。每2秒刷新一次。
setInterval(function UpdateMapPosition()
{
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position) {
var pos = {
lat: position.coords.latitude,
lng: position.coords.longitude
};
//map.setCenter(pos);
map.panTo(pos);
}, function() {
handleLocationError(true, infoWindow, map.getCenter());
}, {enableHighAccuracy: true, timeout: 1800, maximumAge: 1500});
} else {
// Browser doesn't support Geolocation
handleLocationError(false, infoWindow, map.getCenter());
}
}, 2000);
我使用getCurrentPosition并使用map对象上的panTo将值应用于地图。
它可以工作,但是不是很顺利。感觉很生涩,而且返回的错误值很多,准确度很低。
显然,必须有一种更好的方法使它看起来像Uber,Google Map App等。
还是浏览器受限?
感谢您的慷慨投入!