情報ウインドウから関数コール等は可能でしょうか

18 views
Skip to first unread message

tos

unread,
Dec 20, 2006, 10:05:22 PM12/20/06
to Google-Maps-API-Japan
皆さまはじめまして、Google Maps API
であれこれ試している初心者です。

マーカーをクリックして開いたバルーンにhtmlを記述して、ここからスクリプトをコールすることは可能でしょうか。
下記のように試してみましたが機能してくれません。

<div id= "testInfo">
<a href="#" onclick=function(){GLog.write("Click
Test");}>クリックテスト</a>
</div>
また、function() {alert("Clik Test") としてもダメでした。

根本的に間違った思考だとは想像していますが、情報ウインドウとスクリプトを結びつけるような何か手段はありますでしょうか。
教えて頂けると幸いです。

mori-o-hashirou

unread,
Dec 21, 2006, 2:02:34 AM12/21/06
to Google-Maps-API-Japan
一般論ですが、
開発の手順としては、まずはfunction自体が単体で正しく動くか確認し、その次にinfowindowなどとの組み合わせで動作させていくのが、問題切り分けがしやすいと思います。そして動作確認の際には、javascriptとしてのエラーがどなっているのかを確認すべきでしょう。

mitu

unread,
Dec 21, 2006, 4:23:58 AM12/21/06
to Google-Maps-API-Japan
デバックしてエラー箇所やエラーになっている動作を探し出すのも手ですよ?
FireFoxの拡張機能でデバッキングできるツール Firebag などがありますので、導入してみてはいかがでしょうか?
無料なソフトウェアですので、ダウンロードとインストール作業だけでOKですw

mitu

unread,
Dec 21, 2006, 4:28:59 AM12/21/06
to Google-Maps-API-Japan
> FireFoxの拡張機能でデバッキングできるツール Firebag などがありますので、導入してみてはいかがでしょうか?

http://phpspot.org/blog/archives/2006/12/firebug10.html

追伸です。
Firebagの最新版(?)の1.0系をまとめられているサイトを見つけましたので貼っておきます。

tos

unread,
Dec 21, 2006, 8:55:22 AM12/21/06
to Google-Maps-API-Japan
舌足らずだったようで申し訳ありませんでした。

情報ウインドウは、marker.openInfoWindowHtml(html)
で正常にオープンしています。
質問では、変数 html
の文字列だけを提示したつもりでした。
なお、<div> 要素は
cssからのアクセス用ですから質問の趣旨と関係ありません。

hiroaki

unread,
Dec 21, 2006, 9:39:23 AM12/21/06
to Google-Maps-API-Japan
こんばんは。

情報ウィンドウに渡す HTML はただの HTML
のようですから、特別なことはないかと思います。やりかたはいくつかあると思いますが、提示されましたコードの断片ですと:

> <a href="#" onclick=function(){GLog.write("Click
> Test");}>クリックテスト</a>

これは function
を定義しているだけで実行していないので、なにも起こらないのかと思います。
おそらくはこのように:

<a href="#" onclick='alert("test");'>クリックテスト</a>

または:

<a href="javascript:alert('Hello');">クリック</a>

ぼくはリンク付きバルーン(フキダシ)を開く時に
GEvent.addDomListener() とか GEvent.bindDom()
を用いて、イベントハンドラを割り当てています(というのもひとつの方法と思います)。

tos

unread,
Dec 21, 2006, 10:51:52 PM12/21/06
to Google-Maps-API-Japan
> http://phpspot.org/blog/archives/2006/12/firebug10.html
>
> 追伸です。
> Firebagの最新版(?)の1.0系をまとめられているサイトを見つけましたので貼っておきます。

すばらしいツールを紹介下さってありがとうございました。早速インストールしました。

tos

unread,
Dec 23, 2006, 12:25:06 AM12/23/06
to Google-Maps-API-Japan
> > <a href="#" onclick=function(){GLog.write("Click
> > Test");}>クリックテスト</a>
>
> これは function
> を定義しているだけで実行していないので、なにも起こらないのかと思います。
> おそらくはこのように:
> <a href="#" onclick='alert("test");'>クリックテスト</a>
>

確かに、ご指摘のとおりでした、アラートが表示できました。(バンザーイ!)

> ぼくはリンク付きバルーン(フキダシ)を開く時に
> GEvent.addDomListener() とか GEvent.bindDom()
> を用いて、イベントハンドラを割り当てています(というのもひとつの方法と思います)。

Domでhtmlテキスト生成して、マーカー開くようにしてみましたが意図した動作をしてくれます。
----
var html = document.createElement("a");
html.href="#";
html.onclick='alert("test");
html.innerHTML="クリックテスト";
marker.openInfoWindowHtml(html);
---
また、html.onclick= function() {testFunc("テスト")} として、
関数コールの動作確認もできました。

皆さま、ありがとうございました。

Reply all
Reply to author
Forward
0 new messages