0

スクリーンショット: http://imageshack.us/a/img59/8541/72825985.png

上記の結果は、同じ場所にある複数のマーカー (半径が異なる) によって配信されます。

複数のマーカーではなく、一度に 1 つのマーカーをドラッグしたいと考えています。

次に、情報ウィンドウがさまざまな半径で利用できるようになります。

どんな助けでも大歓迎です!

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 - シンプルな複数マーカーの例

http://code.google.com/p/gmaps-samples-v3/source/browse/trunk/circle-overlay/circle-overlay.html?r=67

http://plugins.svn.wordpress.org/google-maps-v3-shortcode-multiple-markers/trunk/

4

2 に答える 2

2

必要な数の円を作成し、円のメソッドを使用しcenterて、各円の -positionプロパティをマーカーの- プロパティにバインドします。bindTo()

于 2013-03-08T10:39:00.557 に答える
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');

第 2 に、複数の円のオーバーレイに情報ウィンドウを追加するのは簡単ではありません。アイデアやヒントはありますか?例: http://img443.imageshack.us/img443/8198/overlap.jpg

参照: Google マップ v3 で円に情報ウィンドウを追加する

于 2013-03-20T02:51:24.393 に答える