- ベストアンサー
GoogleMapAPIで吹き出しの中にタグを挿入
GoogleMapAPIで吹き出しの中にタグを挿入してリンクとかを設定したいです。タグを挿入するとタグがそのまま表示されました。どのように書けばいいでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
毎度。補足のなかに > document.createTextNode(Obj.shopname + Obj.cityname + Obj.street)); とありますが、これは不要です。 openInfoWindowHtml()は最初からテキストではなく、HTMLタグを書く事が出来ます(強引に<script></script>とかやったら無効になりました)。 なので、例えば marker.openInfoWindowHtml( "<h4>"+Obj.shopname+"</h4><div class=\"city\">"+ Obj.cityname +"</div><div class=\"street\">"+ Obj.street +"</div>")); と言うような記述が出来ます。 下記あたりのリファレンス、サンプルを見ていけば大抵の問題は解決すると思いますよ。人に頼ってばかりじゃ自立出来ませんよ。 http://www.openspc2.org/Google/Maps/ http://www.ne.jp/asahi/free/hiroro/GoogleMapsAPI/GoogleMapsAPIDocumentation.htm http://jsgt.org/ajax/newmon/GoogleMapsAPIv2.htm 参考まで。
その他の回答 (2)
- steel_gray
- ベストアンサー率66% (1052/1578)
>Obj.shopname、Obj.cityname + Obj.street・・・はDBから取得しました。この項目にタグをつけたいのですがどのように記述したらいいでしょうか それらの項目には具体的などんなデータが入っていますか? また、それらを具体的にどんなタグにしたいですか? 名称から想像するに、URLはなさそうですが、リンクにしたいのなら、名称とURLが要ると思います。 勝手な例(Obj.url にshopのurlが入っているとして) marker.openInfoWindowHtml('<a href="'+Obj.url+'">'+Obj.shopname+'</a>');
- steel_gray
- ベストアンサー率66% (1052/1578)
openInfoWindowHtmlを使うとできます。 こんな感じで。 var HTMLdata = '<a href="http://example.com/">リンク</a>'; マーカー.openInfoWindowHtml(HTMLdata);
補足
function setMarker (Obj){ var point = new GLatLng(parseFloat(Obj.latitude),parseFloat(Obj.longitude)); var marker = new GMarker(point); map.addOverlay(marker); GEvent.addListener(marker, 'click', function() { marker.openInfoWindowHtml( document.createTextNode(Obj.shopname + Obj.cityname + Obj.street)); }); } for(var i=0;i<DBObj.Items.length;i++){ setMarker (DBObj.Items[i] ); } としています。 Obj.shopname、Obj.cityname + Obj.street・・・はDBから取得しました。この項目にタグをつけたいのですがどのように記述したらいいでしょうか