NP_GoogleMapsにオリジナルマーカーを表示
NP_GoogleMapsにオリジナルマーカーを表示
- Author : pushman|Nucleus|2008-11-06 Thu 23:13
-
NucleusとGoogleMapの連携に欠かせない、NP_GoogleMaps。このままでも十分便利なのですが、オリジナルマーカーが利用できればよりGoogleMapをいじくるのが楽しくなります。
ということで、いじくり回してオリジナルマーカーの表示をできる様にしてみました。NP_GoogleMapsの378行目ぐらいに、「function DrawMap」があります。最初のswitch分が407行目ぐらいで終わってますので、下記を追記します。
case 's' : $script .= "map$i.addControl(new GScaleControl());\n"; break; } // オリジナルマーカー追加 $script .= "var icon = new GIcon();\n"; $script .= "icon.image = \"オリジナルマーカーのURL\";\n"; $script .= "icon.shadow = \"オリジナルマーカーの影になる画像のURL\";\n"; $script .= "icon.iconSize = new GSize(マーカーの幅, マーカーの高さ);\n"; $script .= "icon.shadowSize = new GSize(影の幅, 影の高さ);\n"; $script .= "icon.iconAnchor = new GPoint(マーカーの中心点のX座標, マーカーの中心点のY座標);\n"; $script .= "icon.infoWindowAnchor = new GPoint(吹き出しのX座標, 吹き出しのY座標);\n"; // オリジナルマーカー追加終了マーカーの中心点や吹き出しの位置は、実際に表示が成功してから微調整した方が確実です。
次に447行目付近から始まるif文を以下のように修正します。
if ($mapdata["mark$k"] == "yes") { // オリジナル $script .= " marker[$j] = new GMarker(wpoint);\n" $script .= " marker[$j] = new GMarker(wpoint, icon);\n" . "map$i.addOverlay(marker[$j]);\n"; // $script .= " marker2[$j] = new GMarker(wpoint2);\n" // " map$i.addOverlay(marker2[$j]);\n"; }元の「$script .= " marker[$j] = new GMarker(wpoint);\n"」に「"map$i.addOverlay(marker[$j]);\n"」を追加するだけです。
ちなみにこれまでの経験から、オリジナルのコードは必ずコメントアウトして残しています。ほんとはブログオプション化して、異なるブログ毎にオリジナルマーカーを使えるようにしたいのですが、人間追い込まれないと真剣になれないもんですね。てなわけで現状これでも問題ないので放置しております。
-
-
Tag(s): Nucleus Tips / NP_GoogleMaps
- [Nucleus] Next & Previous

