Home > IT系 ( Nucleus ) > Nucleus NP_GoogleMaps用ツールの改良

Nucleus NP_GoogleMaps用ツールの改良

このブログに初めてコメント貰った。まさか見てくれる人が居るなんて、そしてコメントを下さるなんて、とても嬉しい。
詳しくは ぼそぼそ - Nucleusでサイト構築 08.GoogleMaps をどうぞ!
私のつくったツールを使って頂いたようでありがたいことだ。

このツールは即行でつくった物なので、自分でもまだまだ改良の余地ばっかりと言うのは分かってたけど、使ってくれている方の為にも改良してみた。
改良と言ってもプラグイン化したとかという大げさなことではないのだが…
もともとツール上の地図は中心座標を求めるだけの用途で、プラグインNP_GoogleMapsのパラメータを設定するフォームと連携していたのは座標のみであった。
これをもっと連携させるようにした。上手く説明できない。

見た目はマァマァなんだけど、ソースは超キタナイし、恥ずかしいので見ないで!
最初はJavascriptをシコシコ書いてたんだが、途中から面倒くさくなってきてprototype.jsを使い出したりしてるし。
ラジオボタンの値の取得/設定に悩んだり、GoogleMapsAPIのバージョン違いによるメソッド名変更やイベントの辺りがややこしくてかなり凹んだ。
つーか世の中のGoogleMapsAPIの紹介ページたくさんあるんだけど、まともに更新されている情報が少なすぎ! と他人任せなことを行ってみる。
そもそもは自分のJavascriptのレベルが超低いのが原因なわけで…

どうにか動くレベルに仕上がっているハズなので一度使ってやって。っというわけが、この記事を書きながら試したところ、ズーム値が全くダメダメ!
散々自作ツールの吐き出すコードを確認したり、ブラウザをFirefoxやIEに切り替えてみたが、全く原因がつかめない。
最後にプラグインNP_GoogleMapsが出力したHTMLをファイル保存して試したら、これもNGということでやっと原因を突き止めることができた。
NP_GoogleMapsが吐き出すコード自体は問題がないように思えるが、コード中の
map.centerAndZoom(wpoint,14);  //がズームレベル
のズームレベルが効いていない。GoogleMapsAPIについての知識もないので、とにかくこれ以降に
map.setZoom(14);
をすることで解決できるというのが試行錯誤の結果だ。
プラグインソースのカスタマイズをしなければならないので、変更よりは追加のほうが後々分かりやすいと思うし。(ほんとかぁ?)
以下のように、/nucleus/plugins/NP_GoogleMaps.phpを修正(470行目付近)
        $script .= "    map$i.minpoint = $minpoint;\n";
        $script .= "    map$i.maxpoint = $j;\n";
//20080924 add >>>>
        if($mapdata['zl']>=0 and $mapdata['zl']<=19) {
            $script .= "    map$i.setZoom(".$mapdata['zl'].");\n";
        }
//20080924 add <<<<
        if ($autozoom) {
            sort($xarray);
これでようやっと、ツールで設定したズーム値が反映されたGoogleMapが表示されるようになった。
と言うわけで、どうにか動くレベルに仕上がっているハズなので一度使ってやって。
GoogleMaps中心座標取得ツール

以下、ツールで作ったGMapのタグ
<%gmap(popup(富士山),p([138.73088836669922|35.36273602350485]|yes|「ふじさん」ってひらがなで書くとマヌケだなぁ),m(800|600|dual|b/s/s|12))%>
富士山

Comments:2

ma 2008年09月25日(木) 07:40

NP_GoogleMaps.phpの修正をやると、
当然これまでにポイントした地点のズームは意図しないものになっちゃうので全部書き換えが必要ですよね。
でも修正しといたほうがズームレベルの制御が確実?正確?ってことなのですかね?
むー、悩ましいな。

furuken http://www.furuken.net/blog/member/1/catid/3 2008年09月25日(木) 09:28

今まで設定していたズーム値が問題なければ修正を入れなくても良いかと思います。
仰るとおりで修正による過去データへの影響があり得ますもんね。
NP_GoogleMaps.phpは、ある程度適切なズーム値に補正しているようなロジックもあったような気がします。(ちゃんとソース読めてないので不正確情報です)
また、私の環境的な問題かもしれませんので。

ズーム値がヘンと判断したときの確認方法ですが、
 A:任意のズーム値:例えば10
 B:Aよりも広域を表示するズーム値:例えば6と(ズーム値以外は、Aと同じ)
した場合、意図した結果が得られないためプラグインソースの修正に踏み切りました。

Nucleusを勉強していると、こういった事情が多く、このままNucleusで継続していけるのか疑問・不安を持ち始めて来ています。

Comment Form
%3c%69%6e%70%75%74%20%74%79%70%65%3d%22%68%69%64%64%65%6e%22%20%6e%61%6d%65%3d%22%6e%70%5f%70%72%6f%74%65%63%74%62%79%6d%64%35%22%20%76%61%6c%75%65%3d%22%63%38%66%61%37%66%35%65%38%33%62%38%63%63%38%31%34%36%31%66%37%36%62%30%37%31%36%64%63%61%37%32%22%3e %3c%69%6e%70%75%74%20%74%79%70%65%3d%22%68%69%64%64%65%6e%22%20%6e%61%6d%65%3d%22%6e%70%5f%70%72%6f%74%65%63%74%62%79%6d%64%35%5f%68%61%73%68%22%20%76%61%6c%75%65%3d%22%65%31%35%63%62%61%63%39%66%61%38%66%65%30%33%64%63%36%37%35%38%65%32%31%64%36%38%61%65%32%34%31%22%3e

Trackback: 0

TrackBack URL for this entry
http://www.furuken.net/blog/action.php?action=plugin&name=TrackBack&tb_id=88
Listed below are links to weblogs that reference
Nucleus NP_GoogleMaps用ツールの改良 from ぼそぼそ

Home > IT系 ( Nucleus ) > Nucleus NP_GoogleMaps用ツールの改良

Page Top