0

誰かが地図をクリックすると、情報ウィンドウがポップアップして緯度経度を知らせるようにしようとしています。今のところ、infoWindow を表示する方法を見つけようとしています。ここでマーカーで同様の問題を見つけ、関数を少し編集しましたが、単純であると確信しているものが欠けており、特定できません。コードは次のとおりです。

        function InfoWindow(location) {
          if ( marker ) {
            marker.setPosition(location);
          } else {
            marker = new google.maps.infoWindow({
              position: location,
              content: "sam"
            });
          }
        }

        google.maps.event.addListener(map, 'click', function(event) {
          InfoWindow(event.latLng);
        });
                }

大変助かります!ありがとう

4

4 に答える 4

0

イベント全体ではなく、イベントのLatLng(event.latLng)を渡すのは正しかったです。出力を支援するために、latとlngを文字列に分割するコードを含めました。私が修正した他のいくつかのこと:google.maps.InfoWindowの大文字の「I」である必要があります。ウィンドウがすでに存在する場合は、コンテンツを新しいlatLngに設定します。最後に実際にウィンドウを開くコードを追加しました。これはあなたのためにすべての世話をする必要があります

function InfoWindow(location) {
    var lat = location.lat().toString();
    var lng = location.lng().toString();
    var new_content = "Lat: " + lat + "<br />Long: " + lng
  if ( marker ) {
    marker.setPosition(location);
    marker.setContent(new_content);
  } else {
      marker = new google.maps.InfoWindow({
      position: location,
      content: new_content
    });
  }
  marker.open(map);
}

google.maps.event.addListener(map, 'click', function(event) {
  InfoWindow(event.latLng);
});
于 2012-07-26T14:48:09.403 に答える
0

InfoBubble を使用しています。InfoWindow よりも見栄えがよく、扱いも簡単です。それを試してみてください。

于 2012-07-26T13:59:24.403 に答える
0

Map MouseEventにはlatLng プロパティがあります

google.maps.event.addListener(map, 'click', function(event) 
{
   new google.maps.InfoWindow({
              map:map, 
              content:"coordinates:"+event.latLng.toUrlValue(),
              position:event.latLng});});
}

「map」は google.maps.Map への参照です。

これをアドレスバーに貼り付けてからマップをクリックして、このマップでテストしました。

javascript:google.maps.event.addListener(map, 'click', function(event) {new google.maps.InfoWindow({map:map, content:"coordinates:"+event.latLng.toUrlValue(),position:event.latLng});});
于 2012-07-26T14:49:52.320 に答える
0

イベントは LatLng です

 google.maps.event.addListener(map, 'click', function(event) {
      InfoWindow(event);
    });
于 2012-07-26T14:03:35.887 に答える