みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

googlemapの表示

http://ascii.jp/elem/000/000/424/424032/index-2.html
を参考にして地図は表示できたのですがマーカーをクリックせず地図を表示した段階で
ふきだしを表示するにはどのように書き換えればいいのでしょうか?

制御しているのは
google.maps.event.addListener(marker, 'click', function() {
infowindow.open(map,marker);
});
の箇所というのは判断できるのですがどのように変更すればいいものか教えてください。

投稿日時 - 2009-09-18 11:30:24

QNo.5299753

困ってます

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

×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>

投稿日時 - 2009-09-18 18:24:50

お礼

お返事ありがとうございます。
外してはダメだったのですね^^;clickというのがいらないものと思い込んでおりそうしてしまいましたが
おかげ様でうまくいきました^^

定義はそのままでその後に実行するのがあのコードという意味だったようですね。大変参考になりました!

投稿日時 - 2009-09-18 19:47:16

ANo.4

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.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

投稿日時 - 2009-09-18 17:52:40

ANo.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>

投稿日時 - 2009-09-18 17:36:33

ANo.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

投稿日時 - 2009-09-18 12:56:54

補足

お返事ありがとうございます。
google.maps.event.addListener(marker, 'click', function() {
infowindow.open(map,marker);
});
を外し
GEvent.trigger(marker,"click");
を入れてみましたがクリックしても何も表示されない状態でマニュアルを見てみたのですが
どうすればいいものかわかりません^^;

説明不足だったのかもしれないのですが現状はクリックしなければふきだしが表示されないが
これをクリックしなくても表示させるように(初めからふきだしが出てる状態)したいという事なのですが。。。

投稿日時 - 2009-09-18 14:56:05

あなたにオススメの質問