1

グーグルマップを使って自分の地図を作ろうとしています。

マップ上の既存のすべてのマーカーを示すリストを作成したいと思います。ユーザーがリストから1つのボタン/リンクをクリックすると、対応するマーカーが中央に配置され、その情報ウィンドウが表示されます。つまり、ユーザーがマーカーをクリックしたときと同じ効果があります。

私はいくつかの解決策を試しましたが、どれも機能しませんでした。誰かが私にこれに対する簡単な解決策を提供できますか?前もって感謝します!

私の既存のコードは次のとおりです、

  google.maps.event.addDomListener(window, 'load', function() {
      var map = new google.maps.Map(document.getElementById('map'), {
          center: new google.maps.LatLng(19.642588,151.171875),
          mapTypeId: google.maps.MapTypeId.ROADMAP,
          mapTypeControl: false
      });
      var infoWindow = new google.maps.InfoWindow;
      var onMarkerClick1 = function() {
      var marker = this;     
      infoWindow.setContent('content of infowindow');
      infoWindow.open(map, marker);
  };
  var marker1 = new google.maps.Marker({
      map: map,
      position: new google.maps.LatLng(19.642588,151.171875),
  });
  google.maps.event.addListener(marker1, 'click', onMarkerClick1);
4

1 に答える 1

1

これはマップを中央に配置するのではなく、気球全体が見えるように移動します

http://econym.org.uk/gmap/example_map2.htm


私が得ることができるのと同じくらい簡単です。はい、GMarkerなどをご利用ください。

ヘッダーでこれを忘れないでください<script src="http://maps.google.com/maps?...

を含むhtmlが必要です

 <div id="map" style="width: 550px; height: 450px"></div>
 <div id="side_bar"><a href="javascript:myclick(marker)">Marker One</a><br /></div>

そしてJavaScript

    var map = new GMap2(document.getElementById("map"));
    map.setCenter(new GLatLng(19.642588, 151.171875), 8);

    var point = new GLatLng(19.642588, 151.171875);
    var marker = new GMarker(point);

    GEvent.addListener(marker, "click", function () {
        marker.openInfoWindowHtml("this marker has been clicked");
    });

    function myclick(i) {
        GEvent.trigger(marker, "click");
    }

    map.addOverlay(marker);
于 2012-05-31T05:37:23.307 に答える