Google Maps API V3 + Google Directions API

V3のマップにルート案内 (Directions API) を実装しよう。

GMap+DirectionAPI

APIで提供される交通手段は車・徒歩・自転車で、電車や飛行機を使う経路や発着時間を指定しての検索は出来ない。
なのでロサンゼルスから東京に移動するルートなんかを検索すると「太平洋をカヤックで横断する」と出たりする。
遠方の検索は公式の地図検索を使えって事なんだと思う。

解説は抜粋なのでソース全文は記事末尾からダウンロード出来るZipのjsファイルを見てください。

“Google Maps API V3 + Google Directions API” の続きを読む

[gmap] ‘document.body’ は Null またはオブジェクトではありません。

Google MapsのIE6~IE7で発生する事があるエラー。
APIローダーからV3を呼び出そうとしていたときに出た。

メッセージ: 'document.body' は Null またはオブジェクトではありません。
ライン: 11
文字: 5
コード: 0
URI: http://maps.google.com/maps/api/js?key=notsupplied&v=3&callback=google.loader.callbacks.maps&hl=ja&sensor=false

ライン11に確かにdocument.bodyがある。
appendChildしようとしているが出来ないからエラーになっているようなので
headからbody内にGoogleMapsのscriptタグを移したら直った。
どうもクセでheadに入れたがってしまうんだけど、body閉じタグ直前に置くのが無難みたい。

[gmap v3] Googleマップのマーカーを動的に作成する

マーカーデータ作成ツールでsessionStorageに保存されたポイントを表示する時に使っている1から始まる番号つきのマーカーは、
Google Chart APIで自動作成されたものです。

MapIconMakerというV2のライブラリが元ネタなんだけど、
V3はGIconとかが無くなってて使えなかったからドキュメント見ながらピンタイプのアイコンを出力する関数を書いてみた。
この関数使えばアイコン素材を用意する必要がなくてとてもお手軽です。

sample3-imageicon

“[gmap v3] Googleマップのマーカーを動的に作成する” の続きを読む

Google MapsにKMLのデータを表示する (v2,v3)

KMLファイルを使えばGoogleMapsのマーカー設定とかが凄い簡単にできるっていう話。
KMLはXMLのように書式が決まってて手打ちはだいぶややこしいんだけど、GoogleEarth使えば簡単に作れる。

GooleEarthを開くと左側に「場所」ってのがあって、マークされた目印とかが表示されていると思う。
デフォルトだとお気に入りの中に観光ツアーというモノがあります。

GoogleEarth画面抜粋

自分でポチポチマーキングしてもいいんだけど、手順を解説するのは本題から外れるので割愛。
詳しくはマニュアル参照で。
「場所」タブの横にあるコンテンツを追加を押すと、ユーザーが作ったデータをギャラリーからインポート出来る。
とりあえずサンプルとして28日間で日本一周を読み込でみると、保留って所に表示されると思う。

ギャラリーからインポート

そしたら一番親のタイトルの所を右クリックして「名前をつけて場所を保存」を選ぶ。

kmlのエクスポート

ファイルタイプでkmlを選べばkmlファイルがエクスポートされます。

“Google MapsにKMLのデータを表示する (v2,v3)” の続きを読む

[wp] GoogleMaps を記事本文内に埋め込むショートコードの作成(応用)

基本編で適当に作ったショートコードを改変してマーカーを増やす。

Gmap shortcode

ショートコード間に書いたHTMLとかがそのまま出力されるのは同じで、

  • マーカーを増やす
  • タブ表示
  • 最大化表示
  • style属性でheightの設定
  • showMapBlowup()

以上を追加。

1記事1MAPで複数表示は(使う用事がなかったので)未対応。

“[wp] GoogleMaps を記事本文内に埋め込むショートコードの作成(応用)” の続きを読む

[wp] GoogleMaps を記事本文内に埋め込むショートコードの作成(基本)

各記事ごとにマップを埋め込むのはプラグイン使えばいいんだけど、
地図のポイントと記事を連動させる必要がない場合もあるし、
WordPressのページ機能で作成されたページ(例えば会社概要だとか)にだけ埋め込みたいとか、
地図に表示するマーカーが複数あるとか、タブで表示する情報を自由に制御したい…なんてケースもあるわけで。

プラグイン使うほどでもないならショートコード自作して埋め込めばいいじゃないか! 😀 という記事です

単体マーカー

“[wp] GoogleMaps を記事本文内に埋め込むショートコードの作成(基本)” の続きを読む

[GoogleMaps] グーグルマップとストリートビューを双方向連動表示させる

久しぶりにGoogleマップ弄ったらいろいろと変わっていたので遊びついでに作ってみた。
Ajaxローダーを利用して導入しやすく作ってみたので是非お試しあれ!

このスクリプトは、Googleマップとストリートビューを同時に表示した上で、移動した時の表示を連動させるものです。

  • GooleMapsで中央に表示している地点がストリートビューに対応している場合、ストリートビューを表示
  • Googleマップでマーカーを移動したらストリートビューも移動させる
  • ストリートビューで移動したらマップのポイント(中心)も移動させる
  • ストリートビューで表示している場所の住所表示
  • ストリートビューに未対応の場合エラーを表示する
  • 3Dコントローラーの利用

GoogleMapsとStreetViewの双方向連動表示

DEMOはこちら

使用上の注意

  • 光のような高速回線環境でないと表示がもたつきます
  • ローカル環境(サーバーではない)ではクリック移動時のストリートビューが機能しません
  • ストリートビューを表示する要素は、直接縦横のサイズを指定しないと横幅が100%になります
  • MITライセンスです

“[GoogleMaps] グーグルマップとストリートビューを双方向連動表示させる” の続きを読む

Transparency GoogleMaps

GoogleMapを透明にしたいしたい!と言い出して作ったボツになった方をこっちにのせとく…。
CSSで半透明というのではなく、陸の部分だけ不透明で他透明ということをやりたかった。
透過GIFのほか、アルファチャンネルpngも使用出来る。(しかもpngはIEでも表示される!)

“Transparency GoogleMaps” の続きを読む