便利なGoogleマイマップを作るための7つの小ネタ。

・Googleマップに表示できる愛知県の鉄道路線図をつくった。 : ヒビコラ。

Googleマップで凝ったマイマップを作って身についた、ちょっとしたテクニックをまとめました。ひととおり作ってみて思ったことは、完成した(継続的に手を加えていかないような)マップを作成する場合は、マイマップの編集機能よりkmlデータを作成して参照させる方が作成時にも閲覧時にも都合がいいということです。

もくじ

  1. マーカーやラインの座標データを取得する
  2. マーカーのアイコンを一括で変更する
  3. 小さいマーカーアイコンを作るときの画像サイズは32×32ピクセルにする
  4. マーカーの数が膨大なときにページ分割されてしまうのを防ぐ
  5. マーカーをグループごとに表示・非表示を選べるようにする
  6. 大量の座標データをkmlデータに埋め込む
  7. 更新したkmlデータやマーカー画像はすぐに反映されない

(1)マーカーやラインの座標データを取得する

マーカーの座標は、座標を知りたい場所で右クリック→「この場所について」を選択すると、検索ボックスに座標が表示されます。ただし緯度・経度の順で表示されていることに注意。

2010-06-29_060302

ラインやポリゴンの場合は、一手間かかかります。ラインやポリゴンをマップ上に描いたら、地図右上の「Google Earthで表示」をクリックして、kmlファイルを保存します。

2010-06-28_225953

Google Earthで保存したkmlファイルを開くと、マップ上に描いたライン等が表示されます(画面右の青い線)。この状態で左のツリーを開いて、当該ライン等を右クリック→「名前を付けて場所を保存」を選択。このときデフォルトではkmz形式で保存されるので、ファイル形式をkml形式に変更して保存します。

2010-06-28_230251

保存したkmlファイルを開くとこんな感じ。青く選択している部分がライン要素を定義していて、<coodinates></coodinates>内の座標群が、ライン要素の座標群です。

2010-06-28_230508

(2) マーカーのアイコンを一括で変更する

マイマップの編集機能でアイコンを変更する場合、マーカーを1つ1つ選択して変更しなければいけなくて手間がかかりますが、kmlデータを作っていると一括でアイコンを変更できるようになります。
kmlで下のように記述すると、<StyleUrl>が11411のマーカーは<Style id=”11411″>内のアイコンURLを変更するだけで、まとめてアイコン画像を変更できます。

2010-07-04_224725

(3) 小さいマーカーアイコンを作るときの画像サイズは32×32ピクセルにする

マーカーのアイコンは自分で作成したものに変更することができます。その際は適当なファイルサーバに画像ファイルをアップロードして、そのURLをマイアイコンの追加から指定する必要があります。

2010-07-04_222556

さ て、上記画面を見ると縦横64ピクセル以上のアイコンは縮小されると描かれていますが、同様に縦横32ピクセル以下のアイコンは縦横32ピクセルまで拡大されてしまいます。表示するアイコンを小さくするためには、アイコンの画像サイズは縦横32ピクセルにして、不要な部分は透過色にすればいいです。下のアイコンだと、水色の部分を透過色に指定しています。
ここで注意すべきは、表示したいアイコンはキャンバスに対して「中央下寄せ」にすることです。 アイコンは中央下部分がマーカーの座標と一致するように表示されるので、中心に寄せてしまうとアイコンがやや上(北)に表示されることになってしまいます。
30

(4)マー カーの数が膨大なときにページ分割されてしまうのを防ぐ

マーカーの数が大量になると、1度に全部のマーカーを表示させることができなくなります(こんな感じ)。kmlファイルをどこかのサーバーにアップロードして、そのURLをGoogleマップの検索ボックスに入力すると、全てのマーカーが表示されたマップを見ることができます。ただしこの場合、マップは他人が作成したものとみなされ、作成したマップをGoogleマップ上では編集することはできなくなります。

(5)マーカーをグループごとに表示・非表示を選べるようにする

マーカーを種類ごとにグループ分けして、特定のグループだけ表示させたいという場面はけっこうあると思います。マイマップの編集機能にはフォルダを作ったりグループ化したりするような機能はありませんが、kmlでは<Folder></Folder>でマーカー要素を囲むことで、グループ化が可能です。

2010-07-01_071104

このように作成したkmlデータは、前項「マーカーのページ分割を防ぐ」と同様に、どこかのファイルサーバにアップして、それをGoogleマップで参照す るという方法をとらないとグルーピングは反映されません。

(6)大量の座標データをkmlデータに埋め込む

今回駅の座標データは駅データ.jpと いうところで入手することができたんですが、さてこれをどうやってkmlデータにしてやろうかと考えた結果、Wordの「差し込み印刷」機能を使うことにしました。「差し込み印刷」機能については気が向いたら別エントリで書こうと思うので、どんな風に使ったかということだけ画像にしておきます。きっとIT系のプロの人にはもっとカッコイイやり方があると思いますが、WordとExcelでもなんとかなったので僕のような素人さんでもやればできます。

2010-07-04_225414

(7) 更新したkmlデータやマーカー画像はすぐに反映されない

最後もテクニックというほどのことではないですが、kmlファイルのデータを変更したり、マーカー画像を変更したりして上書きアップロードしても、Google側にキャッシュが残っているのか、なかなか更新が反映されません。ファイル名をtest.kml→test2.kmlに変更するというようにすれば、キャッシュに左右されずに変更が反映された状態を確認することができます。
従って、最初は適当なファイル名でデータを作っておいて、完成版ができあがった段階で本命のファイル名に

コメント

  1. エクセル住所録(一覧表)をGoogleマップのマイマップで読み込み

    前回の記事で、カスタムフィールドを使って
    サイトを作る方法を紹介しました。
    で、その方法を使って、
    子供の遊び場サイトを作ってみたんですが、
    カテゴリーから記事を選べるだけではなく、
    地図から、記事(=遊び場の詳細)を
    選べるようにしたくなりました。
    サイト上に載…

  2. 駅乗降記録をGoogleマップで示す

    どうも、思いついたらすぐに動いてしまう、残念な性格のnaka-staです。「せっかく駅の乗降記録をつけているんだから、地図上で見たい」「外出中に降りたことない駅を確認したい」とおもいたったので、会社帰りの平日、眠い目をこすりながら、Googlemapを使えないかとしばら

  3. 永田喬 より:

    ヒギコラさん
    愛知県の鉄道路線図のことでお尋ねしたいことがあります。
    メールいただけませんか?

タイトルとURLをコピーしました