• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:googlemapの表示)

Google Mapの表示とマーカーのふきだし表示方法

このQ&Aのポイント
  • Google Mapを表示する方法とマーカーをクリックせずにふきだしを表示する方法について教えてください。
  • 参考にした記事ではGoogle Mapの表示はできましたが、マーカーをクリックせずにふきだしを表示する方法についての情報がありませんでした。
  • 質問文のコードを確認すると、マーカーをクリックしたときにふきだしを表示するイベントが設定されています。マーカーをクリックせずにふきだしを表示するにはどのように変更すればよいのでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.4

×google.maps..trigger(marker,"click"); ○google.maps.event.trigger(marker,"click"); これが正解です。 <script type="text/javascript"> google.maps.event.addDomListener(window, 'load', function() { var mapdiv = document.getElementById("map_canvas"); var myOptions = { zoom: 16, center: new google.maps.LatLng(35.686773, 139.68815), mapTypeId: google.maps.MapTypeId.ROADMAP, scaleControl: true, }; var map = new google.maps.Map(mapdiv, myOptions); var marker = new google.maps.Marker({   position: new google.maps.LatLng(35.686773, 139.68815),  map: map, title: 'マーカーのタイトル' }); var infowindow = new google.maps.InfoWindow({ content: '情報ウィンドウ内に表示するHTML', size: new google.maps.Size(50,50) }); google.maps.event.addListener(marker, 'click', function() { infowindow.open(map,marker); }); google.maps.event.trigger(marker,"click"); }); </script>

dcx147
質問者

お礼

お返事ありがとうございます。 外してはダメだったのですね^^;clickというのがいらないものと思い込んでおりそうしてしまいましたが おかげ様でうまくいきました^^ 定義はそのままでその後に実行するのがあのコードという意味だったようですね。大変参考になりました!

その他の回答 (3)

  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.3

おっとごめんなさい。 サンプルの内容よく見てませんでした。 Ver2までの直接APIコールだと思ってました。 このサンプルは新しいGoogleMapApI Ver3 のやり方ですね。 google.maps..trigger(marker,"click"); に代えて下さい。 リファレンスはこっちでした。 http://code.google.com/intl/en/apis/maps/documentation/v3/reference.html#Mouse%20event

参考URL:
http://code.google.com/intl/en/apis/maps/documentation/v3/reference.html#Mouse%20event
  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.2

イベントはずしちゃだめですよ。 google.maps.event.addListener(marker, 'click', function() { infowindow.open(map,marker); }); の下にいれるのですよ。 このサンプル見てやってるなら、こんなふうにしてるんじゃないですか <script type="text/javascript"> google.maps.event.addDomListener(window, 'load', function() { var mapdiv = document.getElementById('div要素のID'); var myOptions = { zoom: ズーム, center: new google.maps.LatLng(緯度, 経度), mapTypeId: google.maps.MapTypeId.ROADMAP, scaleControl: true, }; var map = new google.maps.Map(mapdiv, myOptions); var marker = new google.maps.Marker({ position: new google.maps.LatLng(緯度, 経度), map: map, title: 'マーカーのタイトル' }); var infowindow = new google.maps.InfoWindow({ content: '情報ウィンドウ内に表示するHTML', size: new google.maps.Size(幅, 高さ) }); google.maps.event.addListener(marker, 'click', function() { infowindow.open(map,marker); }); GEvent.trigger(marker,"click"); // <=ここに追加 }); </script>

  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.1

GEvent.trigger(source:Object, event:String, ...) というのを使います。 markerふきだしを表示するマーカーの名前がmarkerだとすると、  GEvent.trigger(marker,"click"); これを実行すると、markerのクリックイベントが地図に伝わります。 (リファレンス) http://code.google.com/intl/ja/apis/maps/documentation/reference.html#GEvent.trigger

参考URL:
http://code.google.com/intl/ja/apis/maps/documentation/reference.html#GEvent.trigger
dcx147
質問者

補足

お返事ありがとうございます。 google.maps.event.addListener(marker, 'click', function() { infowindow.open(map,marker); }); を外し GEvent.trigger(marker,"click"); を入れてみましたがクリックしても何も表示されない状態でマニュアルを見てみたのですが どうすればいいものかわかりません^^; 説明不足だったのかもしれないのですが現状はクリックしなければふきだしが表示されないが これをクリックしなくても表示させるように(初めからふきだしが出てる状態)したいという事なのですが。。。