ページへ戻る

− Links

 印刷 

MyGmap モジュール を API v2 対応に :: XOOPS マニア

UsersWiki:nao-pon/blog/2006-07-07

ページ内コンテンツ
    • MyGmap モジュール を API v2 対応に
        • 経過
      • mygmap_loader.js
      • mygmap.js

MyGmap モジュール を API v2 対応に anchor.png[1]

Tag: ネット[2] プログラミング[3]

miyabi さんの gmap モジュールをベースにした のぶのぶさんの MyGmap モジュールは、住所・駅名サーチなどが便利なので、PukiWiki[4] の googlemap2 プラグイン用の地図タグ生成に便利だと思い、Google Maps API の Version 2 に対応させてみました。

そのメモ書きです。

&font(Red){

※ FireFox(1.5.0.4), Opera(8.53) ではOKだけど、IE(6)ではNGでした。ちょっと調べてみます。};

Page Top
経過 anchor.png[5]
  • mygmap_loader.js にて GoogleMap の JS と mygmap.js 呼び出しを JavaScript で書いている部分をテンプレートにて HTML で書いてやると IE でも問題ない模様。

ただ、それだとブロックのミニマップと共存できなくなる?

Page Top

mygmap_loader.js anchor.png[6]

var mygmap_gapi_src = "http://maps.google.com/maps?file=api&v=1&datum=wgs84&key=" + mygmap_API;

var mygmap_gapi_src = "http://maps.google.com/maps?file=api&v=2&key=" + mygmap_API;

に変更。

Page Top

mygmap.js anchor.png[7]

冒頭近くの

//Google Map Initializing

の前に次のコードを追加

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// Gmap -> Gmap2 matting by nao-pon[8]
var GPoint = function(lng, lat)
{
	return new GLatLng(lat, lng);
};
GMap2.prototype.centerAndZoom = function(point, z)
{
	return this.setCenter(point, Math.floor( 17 - z ));
};
GMap2.prototype.getBoundsLatLng = function()
{
	return this.getBounds();
};
GMap2.prototype.getCenterLatLng = function()
{
	return this.getCenter();
};
GMap2.prototype.getZoomLevel = function()
{
	return this.getZoom();
};
GMarker.prototype.setZIndex = function(){};
GMarker.prototype.getLatitude=function(){return 180};
GMap = GMap2;

最後のほうの

function myGmapRenderCurAddress(zoom) {

の直下に

1
  zoom = Math.max( 0 , (17 - zoom) );

を追加


本当は、ソースをV2用に書き換えるのが正攻法だとは思いますが、変更箇所が多かったので、オブジェクトのメソッドを追加して対応させてみました。

これで、とりあえず動作している模様ですが、まだ足りないメソッドや関数があるかもしれません。 :p





Last-modified: 2006-07-07 (金) 10:36:54 (JST) (6500d) by nao-pon