谷歌地图 API watchPosition
Posted
技术标签:
【中文标题】谷歌地图 API watchPosition【英文标题】:Google maps API watchPosition 【发布时间】:2013-04-24 12:34:43 【问题描述】:我正在构建一个网络应用程序,以便使用地理定位和 GPS 在用户当前位置显示一个标记。这是我的代码
var marker;
$(window).load(function()
myOptions = zoom: 20, mapTypeId: google.maps.MapTypeId.ROADMAP ;
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
var watchId = navigator.geolocation.watchPosition(centerMap);
);
function centerMap(location)
var myLatlng = new google.maps.LatLng(location.coords.latitude,location.coords.longitude);
map.setCenter(myLatlng);
map.setZoom(15);
$("#lat").text("Latitude : " + location.coords.latitude);
$("#lon").text("Longitude : " + location.coords.longitude);
//show current location on map
marker = new google.maps.Marker(
position: myLatlng,
map: map,
zIndex:1
);
navigator.geolocation.clearWatch(watchId);
此代码有效,但随着用户更改位置,它会不断添加标记。 如何在当前用户位置只显示一个标记?
【问题讨论】:
【参考方案1】:每次调用 centerMap
时都不会生成一个新标记,只需使用 marker.setPosition(myLatlng)
更新其位置即可。
【讨论】:
以上是关于谷歌地图 API watchPosition的主要内容,如果未能解决你的问题,请参考以下文章
减少谷歌地图成本计算,只能调用谷歌地图javascript api