Googlemaps バージョン 2 をバージョン 3 に更新するタスクがあります。
ExtInfoWindow を使用して情報を含む「ポップアップ」を取得するバージョン 2 のコードがあり、以下のリンクをよく読んだ後、このメソッドに相当するのは Infobox または InfoWindow であることがわかりました。インフォボックスに行くことにしました。
リンクを読む:
https://developers.google.com/maps/documentation/javascript/reference#InfoWindow
http://google-maps-utility-library-v3.googlecode.com/svn/trunk/infobox/docs/examples.html
http://google-maps-utility-library-v3.googlecode.com/svn/trunk/infobox/docs/reference.html
http://gmaps-utility-library-dev.googlecode.com/svn/trunk/extinfowindow/docs/reference.html
バージョン 2 のコード:
google.maps.event.addListener(marker, 'click', function() {
marker.openExtInfoWindow(
map,
"mapwindow",
"<img src='/images/ajax-loader.gif'>",
{ beakOffset: 0, paddingX: 60, paddingY: 45, ajaxUrl: '/templates/GoogleMapsMarkerInfo.aspx?id=' + page + '&epslanguage=<%=CurrentPage.LanguageBranch %>' }
);
};
コードからわかるように、InfoWindow または InfoBox で見つけることができなかったプロパティ ajaxUrl があります。おそらく上記の AjaxUrl を取得してコンテンツ プロパティ内に配置できると考えましたが (以下のコードを確認してください)、コンテンツ プロパティのドキュメントを数回読んだ後、これが機能しないことに気付きました。
私の試み:
google.maps.event.addListener(marker, 'click', function() {
var myOptions = {
content: {"<img src='/images/ajax-loader.gif'>",'/templates/GoogleMapsMarkerInfo.aspx?id=' + page + '&epslanguage=<%=CurrentPage.LanguageBranch %>'}
,disableAutoPan: false
,maxWidth: 0
,pixelOffset: new google.maps.Size(60, 45)
};
var ib = new InfoBox(myOptions);
ib.open(map, marker);
}
firebug エラー メッセージ: http://img401.imageshack.us/img401/8646/firebugerror.png
ExtInfoWindow から AjaxUrl に相当するものを約 5 時間探していましたが、運がありませんでした。
誰かが私の問題に対する答えを持っている場合は、その答えに感謝します。それが問題でない場合は、解決策に関するドキュメントにリンクしていただければ幸いです。
ありがとうございました!