グーグルマップのバージョンアップにともない、2015年以降はこちらを参照してください。
Googleマップにはマイマップという機能があり、自分の気に入った場所やルートを登録できる。
10件くらいなら手作業でもいいのだが、かねてより「
安くて気軽な公共の宿」という公共の宿サイトと地図を連動させたくて、2000件ほどのデータを一括登録できないかといろいろ調べていた。
このほど、いくつかのサイトやフリーウェアのおかげをもって公共の宿を地図から探せるようにしました。
※一部のタグは誤動作を防ぐために全角にしています。
まず、
住所録を用意します。
エクセルファイルでかまいませんが私はデータベースソフトの桐V9を愛用しています。
それをCSV形式で書きだします。
name,address,lon,lat,description
泊村国民宿舎もいわ荘,北海道古宇郡泊村大字興志内村字茂岩223,140.4558083,43.10999722,"http://pyado.travelinfo.jp/list/shisetsu/10043.html<BR><img src=""http://pyado.travelinfo.jp/list/images/pa01_1-moiwa.jpg"" alt=""PHOTO:NK"">"
グリーンパークいわない,北海道岩内郡岩内町字野束500,140.5111306,42.94936389,"http://pyado.travelinfo.jp/list/shisetsu/10044.html<BR><img src=""http://pyado.travelinfo.jp/list/shisetsu/images/nophoto.jpg"" alt=""PHOTO:NO"" width=""172"">"
このとき、項目名を上のように英単語で書いておき、
下記のソフト(AG2KML)に認識させます。lonは経度、latは緯度で10進数で表されています。
なお、緯度経度がわからなくても、住所がしっかりしていれば下記のソフトで自動取得できます。
descriptionですが、マイマップからポップアップするときの説明です。
nameとdescriptionが反映されるので、descriptionはHTMLで書いておいた方が無難でしょう。上を参考にしてください。予約ページへのリンクと、外部の写真ファイルを参照しています。
次に、GoogleマップにはCSVを直接読みこめないので、一度KMLファイルに変換しなければなりません。KMLはGoogleマップなどで用いられている位置データなどのマークアップランゲージで、HTMLと似た構造になっています。
変換は手作業ではとても無理なのでフリーソフトを使います。
いくつも変換ソフトや変換サイトがあるのですが、
AG2KMLというソフトを使わせていただきました。
ページの右上にダウンロードリンクがあります。
また
.NET Framework Version 3.5も使いますので、インストールしていない人は合わせてインストールしてPCを再起動してください。
使い方はAG2KMLのページに絵入りで詳しく出ていますが、実際にやってみて戸惑った点を書いておきます。
まず、
緯度経度は10進数です。私が持っているデータが60進数だったので最初はとんでもないずれた場所を表示してしまいました。
エクセルの簡単な関数で変換しました。
例:A1に緯度が43.27.48.38なら
=MID(A1,1,2)+MID(A1,4,2)/60+MID(A1,7,5)/(60*60)
→43.46344
経度は最初は3ケタだから、例:138.09.17.46
=MID(A1,1,3)+MID(A1,5,2)/60+MID(A1,8,5)/(60*60)
→138.15485
また、「すべての住所を検索」ボタンで、住所から緯度経度を数分かかって取得してくれますが、字(あざな)や東京都心部でもちゃんと取得されない場合があり、緯度経度がわかるならそれを使ったほうが確実です。
あとで判明しましたが、実際よりも東京では南南東に450mくらいずれており、理由は私が得ている緯度経度が
日本測地系のためです。
Googleが採用している
世界測地系に変換するフリーソフトもあったのですが、非常に使いづらい上にかえってずれてしまったので辞めました。
しかしそれで諦めません。東西南北30か所のサンプルをとって検証したところ、
緯度は+0.003、経度は-0.003すればだいたいぴったりになりますのでこれで作成しました。
住所データをAG2KMLに読みこんだら出力ボタンを押してGoogleEarthに書きだします。グーグルアースが起動して、黄色いピンマークが立ちました。ピンをクリックするとポップアップして、descriptionに書いたものが表示されました。
ではこれをブラウザの
Googleマップで見られるようにします。
AG2KMLのフォルダのtempフォルダにagtemp.kmlというファイルができているのでこれをGoogleマップのマイマップにインポートするのですが、このままではバージョンが異なって読みこんでくれません。
テキストエディタで開いて、最初の2行目
<?xml version="1.0" encoding="utf-8"?>
<kml>
これを
<?xml version="1.0" encoding="utf-8"?>
<kml xmlns="http://earth.google.com/kml/2.2">
に書き換えます。
また、デフォルトは黄色いピンですが、アイコンを変えることが可能です。
基本のアイコン集は
こちら
換えたければ、アイコン集サイトで利用したいアイコンの上で右クリックしてURLを取得して9行目のURLを書き換えます。
宿なのでベッドのアイコンにしてみました。下の、ブルー部分のURLを希望するアイコンのURLに変更します。
<Icon>
<href>
http://maps.google.com/mapfiles/kml/pushpin/ylw-pushpin.png</href>
</Icon>
これで準備ができました。
Googleマップの左側の「マイプレイス」から「地図を作成」にして、「インポート」からagtemp.kmlを読みこんでください。
ご覧のような公共の宿が地図上に示されたマイマップができ、クリックするとポップアップで名称と予約サイトへのURL、そして写真が表示されるようになりました。
なお、1画面に表示される数は限りがあって、このdescriptionの容量だと200件程度で、別エリアはページを切り替えます。
地方ごとに作り分けるか、思案のしどころです。
と、思っていたら日本時間で一晩たったら全部が1画面に表示されるようになりました。不思議だけどこれで正解。
一部、場所がずれているアイコンは手作業で位置を修正できます。
ざっとできあがりました。
>>>
こちらのサイトが詳しく、参考にさせていただきました。ありがとうございます。
Excelの住所録を使ってGoogleMapのマイマップを制作する方法