2

マーカーの情報バブルを引き出して中央に配置する外部リンクを作成しようとしています。クリックアウェイと呼んだdivIDを参照してやりたかったのですが、これは私が設定したものですが、機能していないようです。

<script>
  function initialize() {
    var myLatlng = new google.maps.LatLng(-25.363882,131.044922);
    var mapOptions = {
      zoom: 4,
      center: myLatlng,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    }
    var map = new google.maps.Map(document.getElementById('map_canvas'), mapOptions);

    var contentString = '<div id="content">'+
        '<div id="siteNotice">'+
        '</div>'+
        '<h1 id="firstHeading" class="firstHeading">Uluru</h1>'+
        '<div id="bodyContent">'+
        '<p><b>Uluru</b>, also referred to as <b>Ayers Rock</b>, is a large ' +
        'sandstone rock formation in the southern part of the '+
        'Northern Territory, central Australia. It lies 335&#160;km (208&#160;mi) '+
        'south west of the nearest large town, Alice Springs; 450&#160;km '+
        '(280&#160;mi) by road. Kata Tjuta and Uluru are the two major '+
        'features of the Uluru - Kata Tjuta National Park. Uluru is '+
        'sacred to the Pitjantjatjara and Yankunytjatjara, the '+
        'Aboriginal people of the area. It has many springs, waterholes, '+
        'rock caves and ancient paintings. Uluru is listed as a World '+
        'Heritage Site.</p>'+
        '<p>Attribution: Uluru, <a href="http://en.wikipedia.org/w/index.php?
 title=Uluru&oldid=297882194">'+
        'http://en.wikipedia.org/w/index.php?title=Uluru</a> '+
        '(last visited June 22, 2009).</p>'+
        '</div>'+
        '</div>';

    var infowindow = new google.maps.InfoWindow({
        content: contentString
    });


    var name = '#clickaway';


    var marker = new google.maps.Marker({
        position: myLatlng,
        map: map,
        title: 'Hello World!'
    });

    google.maps.event.addListener(marker, 'click', function() {
      infowindow.open(map,marker);
    });

    google.maps.event.addListener(name, 'click', function() {
      infowindow.open(map,marker);
    });


  }


  function loadScript() {
    var script = document.createElement('script');
    script.type = 'text/javascript';
    script.src = 'https://maps.googleapis.com/maps/api/js?sensor=false&' +
        'callback=initialize';
    document.body.appendChild(script);
  }

  window.onload = loadScript;
</script>
4

2 に答える 2

3

名前が示すように、DOM内のオブジェクトのイベントをリッスンできるため、のaddDomListener代わりに使用することをお勧めします。addListenerコードから作成されたこのサンプルをname確認してください。変数のCSSセレクターがなくなっていることに注意してください。

于 2012-10-18T02:15:58.150 に答える
1

そのようには機能しません。マーカーはjavascriptオブジェクトであり、HTMLIDで参照することはできません。マーカーをグローバルにすると、HTMLのonclick関数で参照できます。

onclick="google.maps.event.trigger(marker, 'click');"  

クリック可能なサイドバーを使用した別の例

于 2012-10-18T02:08:39.503 に答える