好的,我正在学习Google Maps API,并尝试根据经度和纬度实时移动一个点(就像Google Maps使用蓝点一样)。
除非我弄错了,否则看起来我必须绘制自己的圆并更新其位置。
问题在于,我无法使圆形得到更新。
这是我的代码:
var citymap = {};
citymap['chicago'] = {
center: new google.maps.LatLng(41.878113, -87.629798),
population: 2842518
};
var cityCircle;
function initialize() {
// Create the map.
var mapOptions = {
zoom: 4,
center: new google.maps.LatLng(37.09024, -95.712891),
mapTypeId: google.maps.MapTypeId.TERRAIN
};
var map = new google.maps.Map(document.getElementById('map-canvas'),
mapOptions);
// Construct the circle for each value in citymap.
// Note: We scale the population by a factor of 20.
for (var city in citymap) {
var populationOptions = {
strokeColor: '#fff',
strokeOpacity: 0.8,
strokeWeight: 2,
fillColor: '#fff',
map: map,
center: citymap[city].center,
radius: 50000,
};
// Add the circle for this city to the map.
cityCircle = new google.maps.Circle(populationOptions);
var a=0;
window.setInterval(function(){
var p = populationOptions.center;
var g = p.lat()+500;
var m = p.lng()+500;
cityCircle.setCenter(new google.maps.LatLng(g,m));
cityCircle.setRadius(a+=10);
}, 50);
}
}
我其实很惊讶谷歌的api没有直接暴露那个蓝色标记,这样你就可以在需要时移动它。