地図サービスとコソガイの話、その後

地図が使えなくなる?

先日、くらしと子育てガイドの地図表示システムを変更しました。Yahoo!が地図APIの提供を今年の10月で終了することになったからです。昨年の夏、「今の地図を提供しているYahoo!だって、急にサービスを辞めたり有料化するかもしれません」と書いたとおりになってしまいました。

終了するのはYahoo!地図のサービスそのものではなく、サイト上で自由に地図を描くための仕組みです。他に住所から緯度経度を求めるAPIも使ってますが、そちらは継続です。

使いやすかったのに残念。まあ今まで無償でやってくれたのが不思議なくらいですからね。代わりを探していろいろ検討した結果、Leafletという地図表示プログラムに無料の地図データ(OpenStreetMap、地理院地図)を組み合わせることにしました。

OpenStreetMap

OpenStreetMap(OSM)は、誰もが自由に使えて自由に編集できる地図を作るという世界的なプロジェクトです。さまざまな地図サービスやポケモンGoなどのアプリでもOSMのデータが活用されています。

地図作成はボランティアがやっていて、地域によってはスカスカだったり情報が不正確だったりもします。幸いなことに鎌倉では、つい昨年地図作りのイベントが行われたそうで、鎌倉駅周辺は割と整っています。それに、間違いや足りない情報があれば自分も参加して編集すればいいのです。見た目も普通の地図らしい地図ですね。

OpenStreetMapの地図

問題なのは時々重くて不安定なこと。表示に時間が掛かったり、一部がうまく表示できないことがあります。OSMのサーバーは寄付で運営されているため利用には制限があるのです。

地理院地図

一方、国土地理院は国の機関。信頼性は言うまでもありません。地図のサーバーは民間のクラウドサービスを使っているそうで充分な速度です。通常の地図だけでなく、地形図や年代別の写真、災害情報などさまざまな地図が、出典の明記だけで利用できます。

ただ、地理院の地図はデザインがちょっと……。地名や地図記号が黒い太字でやたらと大きい。町中に並ぶ建物に店名やビル名の情報がないので、拡大するとどこを表示しているのか迷ってしまいます。

国土地理院淡色地図

機能を追加してみた

どちらも一長一短あり、せっかくなので切り替え機能を付けちゃいました。OSMが重くて困ったら、地理院地図に切り替えてみてください。ついでに、地理院の航空写真も追加しました。海岸など場所によっては写真で見ると面白いですよ。

和賀江島の写真、海面下にも積まれた石が見える

なお、OSMも地理院地図も、GoogleマップやYahoo!地図ほど拡大できません。鎌倉周辺の場合、GoogleやYahoo!はズームレベル21くらいまで表示できますが、OSMは19まで、地理院地図は18まで。せめてもう少し大きく見たくて、擬似的にレベル20まで拡大できるようにしました。単純に引き伸ばしているので、最大に拡大すると画像が粗くなります。ご了承ください。

ちょっとピンボケ、ギザギザに表示されます

大きな地図を表示する

貼り付ける地図はこれでいいとして、実際にその場所に行くときには、もっと大きな地図で見られたら便利ですよね。今回作った地図にはその機能はありません。代わりに、GoogleマップやYahoo!地図を呼び出して、別ページに同じ場所を表示する方法を考えてみました。

GoogleもYahoo!もヘルプを見ると、地図へリンクするURLは、地図上に目的の場所を表示して取得するように書いてあります。YahooではURLの改変は禁止されており、一つ一つ場所を調べて手動でやるしかなさそうです。

Googleの場合、開発者用ドキュメントの中に、決められた形式のURLで緯度経度のデータを使う方法がありました。これならプログラムで自動的にリンクを生成できます。URLだけを使うAPIは登録も不要で無料で利用できるとのこと。最近は自動翻訳のおかげで英語の文書も読みやすくなりましたね〜。

これで、地図の下に「≫Googleマップで見る」というリンクを貼ることができました。現在一部のブラウザでマーカーが表示されない不具合がありますが、特殊なケースのはず……私みたいな。その場合はお手数ですが別のブラウザをご利用くださいね。

完成!

地図に関しては一応これで完成です。もともとは10月ぎりぎりまでYahoo!を使い続けるつもりが、地図の上にAPI終了のお知らせが出るようになって慌てました。早めに対応が終わってほっとしています。

投稿者:プー

コメント

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