macoblog

「ゲーム × プログラミング」で生きていく

GoogleMapAPIでピンがずれた時の解決策「すぐに直せます」

JavaScript

GoogleMapAPI初心者GoogleMapAPI初心者

GoogleMapAPIを使って地図を埋め込んでみたんだけどピンが微妙にずれてる、緯度経度は間違えていないはず。いや、何度やり直しても結果は同じ、数値は絶対に間違えていないのに。汗

こんな疑問に答える記事になります。

本記事では、GoogleMapAPIを使った際ピン(緯度経度)がずれてしまう問題について解説しています。1分もかからず理解&解決できますので最後まで読んでみて下さい。

「ピンがずれる、これ、WEB制作初心者あるあるです」

目次【本記事の内容】 [ click ]

GoogleMapAPIでピン(緯度経度)がずれる原因

下記はスカイツリーの座標指定時のずれ

GoogleMapAPIでピン(緯度経度)がずれる原因

上記のような感じで微妙にずれているって方、ご安心くださいこれはすぐに直せます。

なぜ微妙にずれるのか?

結論から言うと、測地系の影響です。

GoogleMapで見た時の緯度経度は日本版の測地系を参照していますが、GoogleMapAPIを通すと世界版の測地系に変換されます、その結果ピンが微妙にずれるということですね。

日本版の測地系を埋め込み時に使うとピン(緯度経度)がずれる

GoogleMapのurlからではなく、「この場所について」から緯度経度を参照した場合も同様にずれます(日本版の測地系だから)

ピン(緯度経度)を正しい位置にする方法

ってことはGoogleMapAPIを使って地図を埋め込む際の緯度経度は「世界版の測地系」を参照すればいいって話です。

世界版で確認する方法は?

「Geocoding」というサイトを開いて「建物の名称」「住所」を指定すれば世界版の緯度経度を確認できます。

例:スカイツリー

geocodingを使って世界版の測地系/緯度経度を確認する

測地系 緯度 経度
日本版 35.7100649 139.8096061
世界版 35.710063 139.8107

微妙に違うのが分かると思います(そりゃずれるわ。笑)

ってことなので、GoogleMapAPIを使って地図を埋め込む場合には、Geocodingなどを使って世界版の緯度経度を参照するようにしましょう。

以上になります。

人気記事無料体験が受けられるプログラミングスクール7社。現役エンジニアが厳選