|
|
|
 |
33 人が来店中です。 (8 人が 呑兵@xpWiki を覗いています。)
会員さん: 0
一見さん: 33
もっと...
|
 |
|
|
|
|
 |
|
|
|
 |
Tag: xpWiki pluginmanual
アルファベットで、最寄の頁 
- 書式例
#googlemaps2(lat=37.683820, lng=139.746093, width=100%, height=500px, zoom=5, type=normal, mapctrl=normal, typectrl=normal, scalectrl=show, overviewctrl=hide, crossctrl=show, togglemarker=1, googlebar=1)
- 「このマップの Wiki記法」の表示をコントロールする wikitag オプションを追加。
none: 表示なし, show: 開いた状態で表示, hide: 閉じた状態で表示(規定値)
- グーグル等の地図アプリに連動させる機能が付加されました。
関連説明
- 利用にあたって
- 複数のxpWikiを設置している場合(詳細)
- Ver 3.47 以降
xpwiki_xpwiki_plugin_googlemaps2 (モジュールディレクトリ名が xpwiki の場合)
xpwiki_mywiki_plugin_googlemaps2 (モジュールディレクトリ名が mywiki の場合)
これを踏まえて、googlemaps2 プラグインの html側に置く独自設定ファイルは、以下のようになります。
- モジュールインストールディレクトリ名が xpwiki の場合
XOOPS_ROOT_PATH/modules/xpwiki/private/plugin/googlemaps2.inc.php
1
2
3
4
5
6
7
8
9
10
| <?php
class xpwiki_xpwiki_plugin_googlemaps2 extends xpwiki_plugin_googlemaps2 {
function plugin_googlemaps2_init () {
parent::plugin_googlemaps2_init();
$this->cont['PLUGIN_GOOGLEMAPS2_DEF_KEY'] = 'ここにサイトKeyを記述';
}
}
?>
|
- モジュールインストールディレクトリ名が mywiki の場合
XOOPS_ROOT_PATH/modules/mywiki/private/plugin/googlemaps2.inc.php
1
2
3
4
5
6
7
8
9
10
| <?php
class xpwiki_mywiki_plugin_googlemaps2 extends xpwiki_plugin_googlemaps2 {
function plugin_googlemaps2_init () {
parent::plugin_googlemaps2_init();
$this->cont['PLUGIN_GOOGLEMAPS2_DEF_KEY'] = 'ここにサイトKeyを記述';
}
}
?>
|
簡潔に利用する方法 
- 参考
- GoogleMapsAPI をいじる
- 任意のディリクトリーにアイコン画像を設置し、別の特定ページ(地図)にて設定したアイコンをgooglemaps2のインポートできるオプション (importicon=[ページ名])を利用して、複数のページで簡単にアイコンの設定をする。
- サーバー内の適当なディリクトリー(下記の例では「hogehoge/images/googleicon/」を作り、そこにFTPでアイコンを設置する。
- 各アイコン(png.gif)毎に、適当なアイコン名を付与し、「#googlemaps2_icon」により以下のように別の特定ページ(地図)に書くことにより、別の特定ページ(地図)ではプルダウンによりアイコンを選択することができるようになる。
#googlemaps2_icon(アイコン名1, class=menicon, image=http://hogehoge/images/googleicon/1.png)
#googlemaps2_icon(アイコン名2, class=icon, image=http://hogehoge/images/googleicon/2.png)
事例
&googlemaps2_icon(うどん派, class=menicon, image=mm_udon.png);
- classに設定する名前は適当です。自分で決めればよいものなので,meniconでもiconでも何でもよい。
- 参考記述
1
2
3
4
5
| #googlemaps2(lat=36.421282, lng=137.043457, width=100%, height=600px, zoom=6, type=normal, mapctrl=normal, typectrl=normal, scalectrl=show, overviewctrl=hide, crossctrl=none, togglemarker=1, googlebar=1, wikitag=hide)
#googlemaps2_icon(dummy, define=icon, image=http://192.160.1.10/xoops/images/googleicon/number1.png, shadow=http://www.google.com/mapfiles/shadow50.png, iw=20, ih=34, sw=37, sh=34, ianchorx=10, ianchory=34, sanchorx=10, sanchory=0, area="1 7 7 0 13 0 19 7 19 12 13 20 12 23 11 34 9 34 8 23 6 19 1 13 1 7", transparent=http://www.google.com/intl/ja_ALL/mapfiles/markerTransparent.png)
#googlemaps2_icon(お出かけ, class=menicon, image=http://192.160.1.10/xoops/images/googleicon/bullets1.png)
#googlemaps2_icon(自宅, class=icon, image=http://192.160.1.10/xoops/images/googleicon/activ_green1.png)
-&googlemaps2_mark(35.765885, 139.626382, zoom=15, type=normal, title=光が丘公園,image=07162560.JPG,icon=自宅,maxcontent=Diary/2008-10-19){[[Diary/2008-10-19]]};
|
ポイントは、classとdefとの関連です。
上の例では,2行目のdummyで,アイコンの大きさなどの指定を1回だけしておく。
以下では,そのdummyで指定していた,iconというclassをつかうよということを宣言だけすれば,大きさとかは一々指定しなくてよい。
ですから,上ではもう一つ,dummyを作って,def=meniconとして,別の大きさとかを指定をしておけばOK。
1
2
3
4
5
6
7
| #googlemaps2
&googlemaps2_icon(default, define=menicon, image=mm_udon.png, shadow=shadow50.png, iw=20, ih=34, sw=37, sh=34, ianchorx=10, ianchory=34, sanchorx=10, area="1 7 7 0 13 0 19 7 19 12 13 20 12 23 11 34 9 34 8 23 6 19 1 13 1 7", transparent=transparent.png);
&googlemaps2_icon(うどん派, class=menicon, image=mm_udon.png);
&googlemaps2_icon(そば派, class=menicon, image=mm_soba.png);
&googlemaps2_icon(きしめん派, class=menicon, image=mm_kisimen.png);
#googlemaps2_icon(祭り, class=icon, image=http://nonnbei.dee.cc/images/googleicon/pict029.gif)
#googlemaps2_icon(居酒屋等, class=icon, image=http://nonnbei.dee.cc/images/googleicon/summer10.gif)
|
- xpWikiでは、以下の各プラグインの持つ機能を統括的に利用できる。
したがって、意識して利用する必要が無い。
googlemaps2 
- 書式(オプションを省略するとデフォの値が用いられます)
&googlemaps2(?option=value, ...?);
#googlemaps2(?option=value, ...?)
- オプション
- key Googleから取得したKey
- mapname 複数の地図を張る場合に必ずユニークな名前を指定してください。一枚だけの時は省略可。
- width 横幅。スタイル指定。ex. 640px, 100%など。
- height 縦幅。スタイル指定。
- lat 中心座標の緯度
- lng 中心座標の経度
- zoom 倍率(0〜19)
- type 地図のタイプ(normal, satellite, hybrid)
- mapctrl 地図の倍率変更などのボタン。(none,normal,smallzoom, small, large(largeはnormalと同じ))
- typectrl 地図と衛星写真切り替えボタン。(none, normal)
- scalectrl 縮尺の表示。(none, normal)
- overviewctrl オーバービューマップの表示。hide, showはどちらも表示だが、初期状態が隠れているか表示しているかの違い。(none, hide, show)
- overviewwidth オーバービューマップの横幅ピクセル数(px,%などの単位をつけないでください)
- overviewheight オーバービューマップの縦幅ピクセル数(px,%などの単位をつけないでください)
- togglemarker マーカーの表示を切り替えるチェックボックスの表示。(true or false)
- noiconname togglemarkerで使用する。アイコン無しマーカーに使用するラベル。
- dbclickzoom ダブルクリックでズームする。(true or false)
- continuouszoom 滑らかにズームする。(true or false)
- crossctrl 地図中央のセンタークロスの表示(show, none)(2.2から)
- geoxml KML GeoRSSのURL。マイマップで作図して、そのKMLを読み込んだり。
- googlebar GoogleBarの表示。(true or false) (2.3から)
- importicon Pukiwikiのページ名。指定されたページのgooglemaps2_iconを全て読み込む。 (2.3から)
- backlinkmarker 地図のページへリンクしている全てのページから最初に見つかったgooglemap2_markを各ページにつき一つ読み込んで表示する。
バックリンクが多いと重くなるかもしれない。(true or false) (2.3から)
- 特殊オプション
googlemaps2_mark 
&googlemaps2_mark(lat, lng ?, option=value, ...?);
#googlemaps2_mark(lat, lng ?, option=value, ...?)
- オプション
- map マーカーをつけるマップ名。googlemaps2のmapname。省略したらデフォの値になる。
- title マーカーの名前
- caption マーカーの説明
- image 画像。名前がhttp〜で始まらないものはページに添付された画像と判断する。
- zoom 倍率(0〜17)
- icon マーカーのアイコン(googlemaps_iconでiconを事前に作成しておく)
- nolist 地図以外のマーカーリスト(上の例でいえば地図の下のやつ)に出力しない。(0 or 1)
- noinfowindow フキダシを表示しない(0 or 1)
- noicon アイコンを表示しない(0 or 1)。これがtrueだとnoinfowindowもtrueになる。
- alink マップ上のinfoWindowと本文中のテキストをリンクさせる(0 or 1)
- maxzoom マーカーを表示する、地図の最大ズーム値(0〜17) (2.2から)
- minzoom マーカーを表示する、地図の最小ズーム値(0〜17)(2.2から)
- maxtitle ふきだしを最大化したときのタイトル(2.3から)
- maxcontent ふきだしを最大化したときに表示するPukiwikiのページ名かページのURL。URLは地図と同じドメインでなければならない。(2.3から)
- titleispagename titleをページ名にする。
- 特殊オプション
出力されるリストとマーカーのフキダシの書式を変更するにはgooglemaps2_mark.inc.phpの
PLUGIN_GOOGLEMAPS2_MK_DEF_FORMATLIST と PLUGIN_GOOGLEMAPS2_MK_DEF_FORMATINFOをそれぞれ
書き換えてください。これらの定数で定義されているテンプレートは%title%と%caption%と%image%の文字列を各マーカーのそれに置き換えます。
googlemaps2_icon 
&googlemaps2_icon(name, ?, option=value, ...?);
#googlemaps2_icon(name, ?, option=value, ...?)
- オプション
- image アイコン画像
- shadow 影の画像
- iw アイコン画像の横幅
- ih アイコン画像の縦幅
- sw 影の画像の横幅
- sh 影の画像の縦幅
- ianchorx アイコンの位置調整
- ianchory アイコンの位置調整
- sanchorx フキダシの位置調整
- sanchory フキダシの位置調整
- area アイコンの透明領域のcoordsリスト。クリッカブルマップ。例 area="1 1 4 1 4 4 1 4"
- transparent アイコンの透明領域指定用pngファイル。
- 特殊オプション
- define
- class
googlemaps2_iconの第一引数でアイコンの名前を指定します。
以下の引数でアイコンと、アイコンの影のURLとそれぞれのサイズを指定します。
- アイコンと影は左上の座標を原点にして重ねて表示されます。
- オプションのianchorx, ianchoryはアイコンと影の表示位置を調整します。
デフォルトでは左上がマーカーの座標になるので、上の例のように画像の下の真ん中あたりを座標に合わせたいときは、ianchorx = アイコンの横幅/2, ianchory = アイコンの縦幅でよいです。
省略された時は0になります。
- sanchorxとsanchoryはマーカーをクリックしたときに表示されるフキダシの位置調整をします。
デフォルトではアイコンの左上に付きます。上の例では上辺の真ん中に来るように調整してます。
省略された時は0になります。
- アイコンの画像ではページ添付された画像を使うことはできません。
googlemaps2_draw 
&googlemaps2_draw(command, ?, option=value, ...?);
#googlemaps2_draw(command, ?, option=value, ...?)
コマンドで描画を指定して、そのコマンドが必要とするオプションを指定する。
- コマンド
- line
//(35.1, 135.1) (35.2, 135.2) (35.3, 135.3) を通る線を引く。
&googlemaps2_draw(line, width=10, opacity=0.5, color=#00FF00, 35.1, 135.1, 35.2, 135.2, 35.3, 135.3);
- 省略可能オプション
map, weight, opacity, color
- rectangle
//(35.1, 135.1)と対角が(35.2, 135.2) の四角形
&googlemaps2_draw(rectangle, lat1=35.1, lng1=135.1, lat2=35.2, lng2=135.2);
- 省略可能オプション
map, lat1, lng1, lat2, lng2, weight, opacity, color, fillopacity, fillcolor
- circle
//(35.0,135.0)を中心とした半径10kmの円
&googlemaps2_draw(circle, lat=35.0, lng=135.0, radius=10);
- 省略可能オプション
map, lat, lng, radius, weight, opacity, color, fillopacity, fillcolor
- arc
//(35.0,135.0)を中心とした半径10kmの0度から180度までの弧を描画
&googlemaps2_draw(arc, lat=35.0, lng=135.0, radius=10, stangle=0, edangle=180);
- 省略可能オプション
map, lat, lng, radius, inradius, stangle, edangle, weight, opacity, color, fillopacity, fillcolor
- ngon
//(35.0,135.0)を中心とした半径10kmの正5角形の描画
&googlemaps2_draw(ngon, lat=35.0, lng=135.0, radius=10, n=5);
- 省略可能オプション
map, lat, lng, radius, rotate, n, weight, opacity, color, fillopacity, fillcolor
- polygon
//(35.1, 135.1) (35.2, 135.2) (35.3, 135.3) を頂点とするポリゴンの作成。
&googlemaps2_draw(polygon, width=10, opacity=0.5, color=#00FF00, 35.1, 135.1, 35.2, 135.2, 35.3, 135.3);
- 省略可能オプション
map, weight, opacity, color, fillopacity, fillcolor
- オプション
- opacity 線の透明度 0.0〜1.0
- weight 線の太さ
- color 線の色 #RRGGBB指定
- fillcolor 塗りつぶしの色 #RRGGBB指定 (2.2から)
- fillopacity 塗りつぶしの透明度 0.0〜1.0 (2.2から)
- map 描画対象のmap名
- lat 緯度
- lng 経度
- lat1 緯度1
- lng1 経度1
- lat2 緯度2
- lng2 経度2
- radius 半径。単位はkm
- inradius arcを描画する時の内側の半径。単位はkm。(2.2から)
- stangle 開始角
- edangle 終了角
- rotate 回転度数
- n 正n角形の頂点数
- 特殊オプション
googlemaps2_insertmarker 
#googlemaps2_insertmarker(?, option=value, ...?)
ブロック型しかありません!
- オプション
- map マーカーをつけるマップ名。googlemaps2のmapname。省略したらデフォの値になる。
- direction マーカーリストを上に追加していくか、下に追加していくか。(up or down)
フォームからマップの中央にマーカーを登録する。
ドラッグしたりマップを動かすと、マップ中央の位置情報が動的に更新されるので、マーカーを付けたいところをダブルクリックして中央に持ってきて、タイトルと詳細を記入してポストするだけです。
define, classオプションを使ったオプションの省略 
基本的に、これらのプラグインはoption=value形式でオプションを指定していくのだが、マーカーやアイコンの生成において同じオプションを繰り返し書くような場合も多く、ごちゃごちゃして見難かった。
そこで、defineでオプション群を定義し、classでそれらをまとめて指定するというようなことができるようにした。
たとえば、次のように色違いのアイコンを3つ定義するとする。
1
2
3
| &googlemaps2_icon(神社, image=http://reddog.s35.xrea.com/img/googlemaps/mm_jinjya.png, shadow=http://www.google.com/mapfiles/shadow50.png, iw=20, ih=34, sw=37, sh=34, ianchorx=10, ianchory=34, sanchorx=10, sanchory=0, area="1 7 7 0 13 0 19 7 19 12 13 20 12 23 11 34 9 34 8 23 6 19 1 13 1 7", transparent=http://www.google.com/intl/ja_ALL/mapfiles/markerTransparent.png);
&googlemaps2_icon(仏閣, image=http://reddog.s35.xrea.com/img/googlemaps/mm_bukkaku.png, shadow=http://www.google.com/mapfiles/shadow50.png, iw=20, ih=34, sw=37, sh=34, ianchorx=10, ianchory=34, sanchorx=10, sanchory=0, area="1 7 7 0 13 0 19 7 19 12 13 20 12 23 11 34 9 34 8 23 6 19 1 13 1 7", transparent=http://www.google.com/intl/ja_ALL/mapfiles/markerTransparent.png);
&googlemaps2_icon(古墳, image=http://reddog.s35.xrea.com/img/googlemaps/mm_kofun.png, shadow=http://www.google.com/mapfiles/shadow50.png, iw=20, ih=34, sw=37, sh=34, ianchorx=10, ianchory=34, sanchorx=10, sanchory=0, area="1 7 7 0 13 0 19 7 19 12 13 20 12 23 11 34 9 34 8 23 6 19 1 13 1 7", transparent=http://www.google.com/intl/ja_ALL/mapfiles/markerTransparent.png);
|
アイコンは同じ形状で色違いなだけで第一引数の名前と、image以外は全てオプションが同じだとすると、同じオプションを何度もくりかえし書くのは面倒。
そこでdefine, classを使って書き直すと。
1
2
3
4
| &googlemaps2_icon(dummy, define=mkan, image=http://reddog.s35.xrea.com/img/googlemaps/mm_jinjya.png, shadow=http://www.google.com/mapfiles/shadow50.png, iw=20, ih=34, sw=37, sh=34, ianchorx=10, ianchory=34, sanchorx=10, sanchory=0, area="1 7 7 0 13 0 19 7 19 12 13 20 12 23 11 34 9 34 8 23 6 19 1 13 1 7", transparent=http://www.google.com/intl/ja_ALL/mapfiles/markerTransparent.png);
&googlemaps2_icon(神社, class=mkan, image=http://reddog.s35.xrea.com/img/googlemaps/mm_jinjya.png);
&googlemaps2_icon(仏閣, class=mkan, image=http://reddog.s35.xrea.com/img/googlemaps/mm_bukkaku.png);
&googlemaps2_icon(古墳, class=mkan, image=http://reddog.s35.xrea.com/img/googlemaps/mm_kofun.png);
|
このように同じオプションを繰り返して書くのを省いてごちゃごちゃした部分を最小限に押し込んで、すっきり書くことができる。
PukiwikiでGoogleMaps2サンプルも見てみてください。
注意:今のところdefineの中にclassを指定して継承したり、複数のclassを指定したりすることはできません。
googlemaps2_drawのオプションの省略 
googlemaps2_drawにもdefine, classは一応作ったのだけど、実はあまり使わない(と思う)。
というのはgooglemaps2_drawは一度オプションを使うと、そのオプションは保存され、次に使うときは省略できるという状態遷移しながら描画するという風に作った。例えば、(35.00, 135.00)を中心に、半径1km, 2km, 3km, 4kmの円を書く場合、
&googlemaps2_draw(circle, map=tmap, radius=1, lat=35.00, lng=135.00, opacity=0.5, weight=10, color=#FFFFFF);
&googlemaps2_draw(circle, radius=2);
&googlemaps2_draw(circle, radius=3);
&googlemaps2_draw(circle, radius=4);
のように最初のコマンドと同じパラメータは省略できる。
次に色を変えて10kmのところに円を書く場合は、
&googlemaps2_draw(circle, radius=10, color=#00FF00);
のようにcolorオプションを変更する。
google_calendar_html 
- 概要
Google CalendarのHTML表示するためだけのプラグインです。
- 書式
#google_calendar_html(src,style,width,frameborder,height)
例えば、Google Calendarの「Google カレンダー埋め込み支援ツール」で以下の様なデータを取得したとします。
(ここまで行く道のりはを参照)。
<iframe src="http://www.google.com/calendar/embed?src=2hdav36ka249bml5g7epuflbmo%40group.calendar.google.com&height=600&epr=1" style=" border:solid 1px #777 " width="320" frameborder="0" height="600"></iframe>
各種パラメータは、各パラメータの値は、="〜"の中にあります。
- 表示例
#google_calendar_html(http://www.google.com/calendar/embed?src=2hdav36ka249bml5g7epuflbmo%40group.calendar.google.com&height=600&epr=1, border:solid 1px #777 ,320,0,600)
- 開発元
- 水青(サービス)Wiki
google_calendar_html.inc.phpを変換
Counter: 3021,
today: 2,
yesterday: 30
Princeps date: 2008-03-30 (Sun) 09:28:46
Last-modified: 2010-07-03 (Sat) 16:28:09 (JST) (61d) by nonn50
|
|
 |
|
|
|

|