macoblog

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

MMORPGに人生捧げてみ?

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

JavaScript プログラミング

GoogleMapAPIを始めて使う人

GoogleMapAPIを始めて使う人
「GoogleMapAPIを使って地図を埋め込んでみたんだけどピンが微妙にずれてる、、、緯度経度もしっかり確認したのになぜなんだ、、、」

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

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

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

目次【本記事の内容】

スポンサードサーチ


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

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

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

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

なぜ微妙にずれるのか?

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

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

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

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

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

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

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

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

>>Geocoding

例:スカイツリー

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

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

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

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

以上になります。