XOOPSモジュールGNAVIのGoogleMapを V3にしたい

  • このフォーラムに新しいトピックを立てることはできません
  • このフォーラムではゲスト投稿が禁止されています

投稿ツリー




前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 .3 .4 | 投稿日時 2012/8/13 0:29 | 最終変更
タツ  管理人   投稿数: 2473
旅のサイトでは地図が不可欠です。そういう意味ではXOOPSを利用したこのサイトでもXOOPSモジュールであるGNAVIは重宝しています。現状このGNAVIではGoogleMapはV2の為、ストリートビューを利用することができません。海外の旅を登録している時、特にストリートビューが見れたらと思うことが多々あります。それでどうしてもGNAVIでストリートビューを見ることができるようにしたいと思うようになりました。

そもそもこのXOOPSというサイトは便利な反面、他力本願。いつか誰かがこのXOOPSモジュールGnaviのGoogleMapをV3に変えてくれるだろうと期待していましたが期待通りには行かないものです。じゃ自分でできるだけのことをしてみるかと挑戦してみました。

今の所、全て変更しうまく動作しているようです。ただし、なにぶん素人のやること。これ以下のことはあくまでも今後の参考にしていただきたいと思います

まずGoogle Maps APIの部分だけを変更すれば良いと推定。(PHPは触ったことがないのでこれについては編集は無理) これであればなんとかできそう。

GoogleMapのV2とV3の違いはmap用のkeyが必要無くなったことだけではなくコードおよびマップタイプの表現方法がかなり変わっています。

変更すべき箇所を調査し、変更しました。
1.html/modules/gnavi/js/map.jsをGoogleMap V3仕様に変更すれば良いと推定。

2.map.jsを利用しているプログラムを検索し変更する。
・xoops_trust_path/modules/gnavi/admin/category.php > 371
  ".$gnavi_googlemap_url."/maps?file=api&v=2&key=$gnavi_googlemapapi_key
→".$gnavi_googlemap_url."/maps/api/js?sensor=false

・xoops_trust_path/modules/gnavi/main/item.php > 114
  ".$gnavi_googlemap_url."/maps?file=api&v=2&key=$gnavi_googlemapapi_key
→".$gnavi_googlemap_url."/maps/api/js?sensor=false

・xoops_trust_path/modules/gnavi/main/map.php > 210
  ".$gnavi_googlemap_url."/maps?file=api&v=2&key=$gnavi_googlemapapi_key
→".$gnavi_googlemap_url."/maps/api/js?sensor=false

・xoops_trust_path/modules/gnavi/main/submit.php > 814
  ".$gnavi_googlemap_url."/maps?file=api&v=2&key=$gnavi_googlemapapi_key
→".$gnavi_googlemap_url."/maps/api/js?sensor=false

3.マップタイプを変更。
・xoops_trust_path/modules/gnavi/include/common_javalang.inc.php > 6
$gnavi_maptypes=array('G_NORMAL_MAP',
'G_SATELLITE_MAP',
'G_HYBRID_MAP',
'G_PHYSICAL_MAP',
'G_HYBRID_PHYSICAL_MAP',
'G_MOON_ELEVATION_MAP',
'G_MOON_VISIBLE_MAP',
'G_MARS_ELEVATION_MAP',
'G_MARS_VISIBLE_MAP',
'G_MARS_INFRARED_MAP',
'G_SKY_VISIBLE_MAP');

→ $gnavi_maptypes=array('ROADMAP',
'SATELLITE',
'HYBRID',
'TERRAIN');

・xoops_trust_path/modules/gnavi/xoops_version.php >13
 $modversion['version'] = 0.96 ;
→$modversion['version'] = 0.97 ;

・xoops_trust_path/modules/gnavi/xoops_version.php >518 519
'default' => 'G_NORMAL_MAP' ,
'options' => array('G_NORMAL_MAP'=>'G_NORMAL_MAP',
'G_SATELLITE_MAP'=>'G_SATELLITE_MAP',
'G_HYBRID_MAP'=>'G_HYBRID_MAP',
'G_PHYSICAL_MAP'=>'G_PHYSICAL_MAP',
'G_HYBRID_PHYSICAL_MAP'=>'G_HYBRID_PHYSICAL_MAP',
'G_MOON_ELEVATION_MAP'=>'G_MOON_ELEVATION_MAP',
'G_MOON_VISIBLE_MAP'=>'G_MOON_VISIBLE_MAP',
'G_MARS_ELEVATION_MAP'=>'G_MARS_ELEVATION_MAP',
'G_MARS_VISIBLE_MAP'=>'G_MARS_VISIBLE_MAP',
'G_MARS_INFRARED_MAP'=>'G_MARS_INFRARED_MAP',
'G_SKY_VISIBLE_MAP'=>'G_SKY_VISIBLE_MAP')

 →  'default' => 'ROADMAP' ,
'options' => array('ROADMAP'=>'ROADMAP',
'SATELLITE'=>'SATELLITE',
'HYBRID'=>'HYBRID',
'TERRAIN'=>'TERRAIN')

4.map.js内のfunctionの中でphpから直接利用されているものを検索しV3仕様に書き換える

・xoops_trust_path/modules/gnavi/main/item.php > 136
 gn_feedLoader
・xoops_trust_path/modules/gnavi/main/item.php > 124
 ShowItemGMap
・xoops_trust_path/modules/gnavi/main/map.php > 221
 ShowGMap
・xoops_trust_path/modules/gnavi/admin/category.php > 375
 InputGMap
・xoops_trust_path/modules/gnavi/main/submit.php > 818
 InputGMap
・xoops_trust_path/modules/gnavi/main/submit.php > 807
 showAddress
・xoops_trust_path/modules/gnavi/templates/map.html >26
 showAddress2
・xoops_trust_path/modules/gnavi/admin/category.php > 361
 ChangeMapArea →そのままでOK
・xoops_trust_path/modules/gnavi/main/submit.php > 829
 ChangeMapArea →そのままでOK

 変更後のmap.jsファイル

5.feedLoader keyが不要になった。keyがあっても動作可とのこと

・xoops_trust_path/modules/gnavi/main/item.php > 130
  http://www.google.com/jsapi?key=$gnavi_googlemapapi_key
 →http://www.google.com/jsapi

6.現GNAVIに反映する場合
 (1)データベースのマップタイプを変更することが必要。
   phpmyadminで変更で直接変更した。
   (例 G_NORMAL_MAP → ROADMAP)

 (2)変更をかけたファイルを上書きし、GNAVIモジュールのアップデートを行う。
 (3)最初に一旦、GNAVI一般設定でROADMAPとして保存する

以上です。
投票数:96 平均点:5.21
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2012/8/15 18:33 | 最終変更
nonn50  一人前   投稿数: 83
お邪魔する度、貴兄の工事には本当にビックリさせられます。素晴らしいことを考えるんですね?小生も真似っこさせていただきます。追記 教えてください。>6.現GNAVIに反映する場合>>(1)データベースのマップタイプを変更することが必要。>   phpmyadminで変...詳細を見る!
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2012/8/15 23:25 | 最終変更
タツ  管理人   投稿数: 2473
こんばんわ、nonn50さん久しぶりです。質問の件ですが、データベースを組むことができればSQLで一発で変更が可能だと思います。ただ、私はうまく扱えないし、数も大したことはないのでレコード毎に手作業で行いました。変更する箇所についてはご推察の通りデータベースのgn...詳細を見る!
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2012/8/16 10:02
nonn50  一人前   投稿数: 83
早速の回答、ありがとうございました。退職して暇な爺は、チャレンジしてみましたが、6.(2)「変更をかけたファイルを上書き」した時点で、XOOPSの管理者画面が真っ白になりました。勿論、G-nave管理者画面も真っ白です。その為、GNAVIモジュールのアップデートを行うことが...詳細を見る!
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2012/8/16 12:10
タツ  管理人   投稿数: 2473
実は、私もこの・xoops_trust_path/modules/gnavi/xoops_version.php >13 $modversion['version'] = 0.96 ;→$modversion['version'] = 0.97 ;の所で、→$modversion['version'] = 0.96a ;とすると、同じく管理画面の項目は表示されるもの...詳細を見る!
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2012/8/16 13:23
nonn50  一人前   投稿数: 83
まことにもって、タイムリーに的確なアドバイスをいただきました。小生サイトのGnaviのバージョンは、もともと0.97です。貴兄に敬意を称して「0.97o」としましたが、それが敗因でした(汗)0.97として、真っ白現象は発生しなくなりました。現在は試験サイトで試していますが...詳細を見る!
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 | 投稿日時 2012/8/16 18:07 | 最終変更
nonn50  一人前   投稿数: 83
貴兄の当初書き込みにてこれ以下のことはあくまでも今後の参考にしていただきたいと思いますとのことでしたのて、追っかけマンはしないつもりですが、少々教えてください。ストリートビューは動作しているのですが、画像を表示させようとする際(下記URL)にて以下のPHPデバ...詳細を見る!
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2012/8/16 22:00 | 最終変更
タツ  管理人   投稿数: 2473
nonn50さん、そのエラー表示気になりますね。早速ですが、GNAVIバージョン0.96の113行付近(そちらのコードで言えば一行下になります)の該当する辺りのコードを表示します。もし、原因が分かれば教えていただけないでしょうか?見る限りでは一部コードで相違するところがあり...詳細を見る!
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2012/8/17 9:17
タツ  管理人   投稿数: 2473
おはようございます。nonn50さん。たいへん当てずっぽうで申し訳ありませんが、カテゴリー管理の所で該当するカテゴリーの編集画面で送信ボタンを押してもう一度登録し直してみてはどうでしょうか?そういえば、一部で地図が表示されない部分がありそのまま再登録するとうま...詳細を見る!
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2012/8/17 9:53 | 最終変更
nonn50  一人前   投稿数: 83
おはようございます。貴兄の最新(msg# 1.2.1.1.1.1.2) が書き込みされる前に、1つ前の書き込みを見て、以下を確認しました。結論から申せば、貴兄から提示していただいた xoops_trust_path/modules/gnavi/main/item.php の当該部分をバッサリと上書きしたところ、OKにな...詳細を見る!
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2012/8/17 18:45 | 最終変更
タツ  管理人   投稿数: 2473
取り敢えずエラーがでなくなって良かったです。なんか気になるのはバージョンアップするにあたってなぜヘッダー辺りを変更しなければならなくなったのかがなんとなく気になります。ところで、こちらも実際にこのマップで利用して記事を変更していて登録時とアイコンが位置...詳細を見る!
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2012/8/18 10:19 | 最終変更
nonn50  一人前   投稿数: 83
またまた御指導いただき、ありがとうございます。小生サイトでは本改造に関し、「html/modules/gnavi/js/map.js」は先に貴兄より提供いただいたファイルをバッサリと上書きしています。しかし、「登録時とアイコンが位置ずれ」する事象は確認できていません。(すべてを見た...詳細を見る!
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2012/8/19 21:22 | 最終変更
タツ  管理人   投稿数: 2473
nonn50さんこんばんわこの件、実は、「html/modules/gnavi/js/map.js」ですが、構成をできるだけ変更せず、コードについてはv2では使えてもv3では使えないというようなコマンドを代替え変更して殆んど書き換えています。従って、全く違ったものになっていると言っても過言...詳細を見る!
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2012/8/20 10:19 | 最終変更
nonn50  一人前   投稿数: 83
おはようございます。>位置検索エンジンなどは利用しないので使えなくなっています。タツさんが言う、使えなくなった「位置検索エンジン」という部品を理解できませんでした。小生が見る限り、それらしいものは存在し、利用できるように思いますが..>私としてはこ...詳細を見る!
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2012/8/23 1:28 | 最終変更
タツ  管理人   投稿数: 2473
どうもありがとうございます。迷惑というよりもこういうレベルの高い場所に張られるとなんとなく違和感があります。全てのサイトでうまく行くかどうか分かりませんが、今回は私も勉強になりました。追伸位置検索エンジンは一般設定で「PlaceEngineAPIを使用する」の所が無...詳細を見る!
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2013/2/2 9:04 | 最終変更
nonn50  一人前   投稿数: 83
御無沙汰しています。以前、標題に関して XUGJ に投稿させていただいた事をお伝えいたしました。XUGJ の当該フォーラムにて、G-NAVIの改造が開始されたことを御知らせする為に、この書き込みをいたします。http://www.xugj.org/modules/d3forum/index.php?post_id=6907改...詳細を見る!
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2013/2/4 8:22 | 最終変更
タツ  管理人   投稿数: 2473
nonn50さん わざわざありがとうございます。時間がある時にじっくりと見てみたいと思います。自分はバイクの整備をすることがあるのですが、プロの人に整備してもらうというだけで安心感があります。実際スピードを出すにしてもなぜか自分で整備すると不安が先に立って出...詳細を見る!
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2013/2/4 17:55
nonn50  一人前   投稿数: 83
追伸です。くだんの改造版に、機能のプラスがなされようとしています。現時点でのDLL先は以下になります。https://github.com/XoopsX/gnavi/tree/exif_supprt写真に GPS 位置情報が含まれる場合に、位置を地図に反映するようになります。小生サイトは、すべてこれに変更し...詳細を見る!
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2013/2/5 0:04
タツ  管理人   投稿数: 2473
色々と情報ありがとうございます。私の改造が少しでも役に立つたのであれば幸いに思います。今後も引き続きサイトを楽しんで行きたいと思います。これからが楽しみです。詳細を見る!



     条件検索へ

旅と気ままなフォーラム最新投稿

欲しい商品が必ず見つかるメジャーなネットショップ

ログイン

オンライン状況

14 人のユーザが現在オンラインです。 - 2 人のユーザが 旅と気ままなフォーラム を参照しています。.

登録ユーザ 0 ゲスト 14

Facebookリンク表示

検索

アクセスカウンタ

今日 : 715
昨日 : 2497
総計 : 1884318