読み書きプログラミング

日常のプログラミングで気づいたことを綴っています

iOSデバイス用にGoogle earth KMLを生成する

iOSではカスタムURLスキーム"comgoogleearth"を使って、ブラウザや他のアプリからGoogle earthを起動することができます。
ただ、Google earthに直接パラメータを渡すことができないので、そのままでは望みの位置に飛んだりできません。
この解決方法がStack overflowに示されていました。

Can location or search parameters be passed to comgoogleearth:// in iOS?

便利なので、サービスを開始しました。

使い方:
HTMLのアンカータグなどで、

<a href="comgoogleearth://maps2013.herokuapp.com/earth/kml?lat=40.781971&lng=-73.966484&name=Manhattan&description=test">Go to Manhattan</a>

という感じに、望みのパラメータを指定してください。latが緯度でlngが軽度です。nameやdescriptionにスペースなどが入る場合はURLエンコードしてください。

追記(2013年10月8日):
safari-park.herokuapp.comでサービスを提供と記載してそうしていたのですが、実際にはクロスオリジンの問題があり、実用上の提供ができていませんでした。
今回、サービスをmaps2013.herokuapp.comに移し、XMLHttpRequest Level 2に対応するブラウザの場合、クロスオリジン対応しましたので、その修正をしました。