屏幕截图:http://imageshack.us/a/img59/8541/72825985.png
上述结果由同一地点的多个标记(不同半径)提供。
我想一次拖动一个标记,而不是多个标记。
其次,infowindow可用于不同的半径。
非常感谢任何帮助!
var locations = [
['US gov suggested', 1.8833, 102.7833, 5, 'green', 80000],
['agricultural contamination', 1.8833, 102.7833, 4, 'blue', 60000],
['Chernobyl_Exclusion_Zone (fallout)', 1.8833, 102.7833, 3, 'yellow', 30000],
['Fukushima evacuation zone', 1.8833, 102.7833, 2, 'red', 20000],
['emergency zone', 1.8833, 102.7833, 1, 'black', 5000]
];
和
var infowindow = new google.maps.InfoWindow();
var marker, i;
for (i = 0; i < locations.length; i++) {
marker = new google.maps.Marker({
position: new google.maps.LatLng(locations[i][1], locations[i][2]),
draggable: true,
map: map
});
google.maps.event.addListener(marker, 'click', (function(marker, i) {
return function() {
infowindow.setContent(locations[i][0]);
infowindow.open(map, marker);
}
})(marker, i));
var circle = new google.maps.Circle({
map: map,
fillColor:locations[i][4],
//fillOpacity:0.3,
//strokeColor:locations[i][4],
strokeOpacity:0.1,
//strokeWeight:1,
radius: locations[i][5] // 30 km
});
circle.bindTo('center', marker, 'position');
}
参考文献: Google Maps JS API v3 - Simple Multiple Marker Example
http://plugins.svn.wordpress.org/google-maps-v3-shortcode-multiple-markers/trunk/
答案 0 :(得分:2)
根据需要创建尽可能多的圈子,并使用圈子的bindTo()
方法将每个圈子的center
- 属性绑定到标记的position
- 属性
答案 1 :(得分:1)
var infowindow = new google.maps.InfoWindow()
var marker, i;
marker = new google.maps.Marker({
position: new google.maps.LatLng(locations[0][1], locations[0][2]),
draggable: true,
map: map
});
for (i = 0; i < locations.length; i++) {
var circle = new google.maps.Circle({
map: map,
clickable:true,
fillColor:locations[i][4],
//fillOpacity:0.3,
//strokeColor:locations[i][4],
strokeOpacity:0.1,
//strokeWeight:1,
radius: locations[i][5] // 30 km
});
circle.bindTo('center', marker, 'position');
其次,为多个圆形叠加层添加infowindow并不容易。任何想法或提示?例如,http://img443.imageshack.us/img443/8198/overlap.jpg