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

Comment Form (policy)

(メールアドレスは非公開です)

Others
Newest 5 Items

NP_ImageExtractor|エラー修正

NP_ImageExtractor|画像を抽出するプラグイン

NP_OtherBlogSetting|別ブログの情報を表示

NP_TotalOfComment|コメント数を表示

NP_znItemFieldEX|ランダム表示

Nucleus CMS: Pure Publishing