2010-05-17 Mon
以前構築した「マーカーのドラッグ&ドロップでGoogle Mapsの緯度経度を測定|Geocoder」や、複数のサイトで、NP_GoogleMapsを利用して地図を表示していたのですが、いつからかGoogleの仕様変更で最大ズームレベルが小さくなり、同じビル内に立てた複数のマーカーがクリックできなくなっていました。
NP_GoogleMapsは初期のAPIを利用しているので、API 3で新たに構築するしか無いと試行錯誤をしていたのですが、たった1行の追記で問題が解決してしまいました。
参考にさせてもらった、というか解答を教えて頂いたのはこちらのサイト。
GoogleマップAPIのズームレベル制限が変わった件と対処法 - 不動産屋のラノベ読み
詳細をすっとばして結論を書くと
G_NORMAL_MAP.getMaximumResolution = function(){return 最大ズームレベル;}
を追記すれば解決です。
常識的な範囲の利用なら、最大ズームレベルは19あたりでしょうか。
NP_GoogleMapsへの追記箇所は、doSkinVar内の
//]]> </script>
の直前でいいと思います。
今回の修正に挑戦していて気がつきましたが、API 3って随分見やすいコードになってる気がします。現在NP_GoogleMaps、NP_MapBlogの組み合わせで利用していますが、これならNP_znItemFieldEXの拡張フィールドに緯度経度情報を持たせて、専用のテンプレートを作る事で十分地図情報サイト構築できそうです。そのうちストリートビューに対応したAPIとかも出てくるのでしょうが、古いものは切り捨てられてしまう予感がするので、じっくりこつこつAPI 3を勉強しようと思います。
2010-05-17 Mon by pushman - Category: Nucleus
Keyword: NP_GoogleMaps / Nucleus Tips
Comment: 0 - TrackBack: 0
« Old 2010-02-24
NP_ImageExtractor|エラー修正
2010-05-20 New »
NP_znItemFieldEX|PHP 5で検索機能を有効にする