XOOPSモジュールGNAVIのGoogleMapを V3にしたい
- このフォーラムに新しいトピックを立てることはできません
- このフォーラムではゲスト投稿が禁止されています
8件表示
(全19件)
すべてのトピック一覧へ
投稿ツリー
- XOOPSモジュールGNAVIのGoogleMapを V3にしたい (タツ, 2012/8/13 0:29)
- Re: XOOPSモジュールGNAVIのGoogleMapを V3にしたい (nonn50, 2012/8/15 18:33)
- Re: XOOPSモジュールGNAVIのGoogleMapを V3にしたい (タツ, 2012/8/15 23:25)
- Re: Re: XOOPSモジュールGNAVIのGoogleMapを V3にしたい (nonn50, 2012/8/16 10:02)
- Re: Re: XOOPSモジュールGNAVIのGoogleMapを V3にしたい (タツ, 2012/8/16 12:10)
- Re: Re: Re: XOOPSモジュールGNAVIのGoogleMapを V3にしたい (nonn50, 2012/8/16 13:23)
- Re: Re: Re: XOOPSモジュールGNAVIのGoogleMapを V3にしたい (nonn50, 2012/8/16 18:07)
- Re: Re: Re: XOOPSモジュールGNAVIのGoogleMapを V3にしたい (タツ, 2012/8/16 22:00)
タツ
投稿数: 2447
旅のサイトでは地図が不可欠です。そういう意味では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として保存する
以上です。
そもそもこの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として保存する
以上です。
投票数:95
平均点:5.26
nonn50
投稿数: 83
お邪魔する度、貴兄の工事には本当にビックリさせられます。素晴らしいことを考えるんですね?小生も真似っこさせていただきます。追記 教えてください。>6.現GNAVIに反映する場合>>(1)データベースのマップタイプを変更することが必要。> phpmyadminで変...詳細を見る!
タツ
投稿数: 2447
こんばんわ、nonn50さん久しぶりです。質問の件ですが、データベースを組むことができればSQLで一発で変更が可能だと思います。ただ、私はうまく扱えないし、数も大したことはないのでレコード毎に手作業で行いました。変更する箇所についてはご推察の通りデータベースのgn...詳細を見る!
Re: Re: XOOPSモジュールGNAVIのGoogleMapを V3にしたい
msg# 1.2.1
nonn50
投稿数: 83
早速の回答、ありがとうございました。退職して暇な爺は、チャレンジしてみましたが、6.(2)「変更をかけたファイルを上書き」した時点で、XOOPSの管理者画面が真っ白になりました。勿論、G-nave管理者画面も真っ白です。その為、GNAVIモジュールのアップデートを行うことが...詳細を見る!
Re: Re: XOOPSモジュールGNAVIのGoogleMapを V3にしたい
msg# 1.2.1.1
タツ
投稿数: 2447
実は、私もこの・xoops_trust_path/modules/gnavi/xoops_version.php >13 $modversion['version'] = 0.96 ;→$modversion['version'] = 0.97 ;の所で、→$modversion['version'] = 0.96a ;とすると、同じく管理画面の項目は表示されるもの...詳細を見る!
Re: Re: Re: XOOPSモジュールGNAVIのGoogleMapを V3にしたい
msg# 1.2.1.1.1
nonn50
投稿数: 83
まことにもって、タイムリーに的確なアドバイスをいただきました。小生サイトのGnaviのバージョンは、もともと0.97です。貴兄に敬意を称して「0.97o」としましたが、それが敗因でした(汗)0.97として、真っ白現象は発生しなくなりました。現在は試験サイトで試していますが...詳細を見る!
Re: Re: Re: XOOPSモジュールGNAVIのGoogleMapを V3にしたい
msg# 1.2.1.1.1.1
nonn50
投稿数: 83
貴兄の当初書き込みにてこれ以下のことはあくまでも今後の参考にしていただきたいと思いますとのことでしたのて、追っかけマンはしないつもりですが、少々教えてください。ストリートビューは動作しているのですが、画像を表示させようとする際(下記URL)にて以下のPHPデバ...詳細を見る!
Re: Re: Re: XOOPSモジュールGNAVIのGoogleMapを V3にしたい
msg# 1.2.1.1.1.1.1
タツ
投稿数: 2447
nonn50さん、そのエラー表示気になりますね。早速ですが、GNAVIバージョン0.96の113行付近(そちらのコードで言えば一行下になります)の該当する辺りのコードを表示します。もし、原因が分かれば教えていただけないでしょうか?見る限りでは一部コードで相違するところがあり...詳細を見る!
8件表示
(全0件)
すべてのトピック一覧へ