最善の方法は何ですか (または)Straight Line
緯度/経度に基づいて、または郵便番号/郵便番号に基づいて、2 点間の単純な距離を計算する Google の方法は既にありますか?
4 に答える
私は別の場所から、自分で答えを見つけました。
はい、Google のネイティブ ソリューションが既にあり ます。
「google.maps.geometry.spherical.computeDistanceBetween (latLngA, latLngB);」というメソッドを呼び出すだけです。
(もちろん、追加/必須の「.js」も含める必要があります)
「最高」というのはかなりあいまいな基準です。地球が完全な球体であると仮定できる場合、大円距離の簡単な公式が必要になります。たとえば、ウィキペディアの記事を参照してください。この仮定では、距離は 0.5% 未満の誤差になる可能性があります。
地球の実際の形は、やや偏平な回転楕円体です。この形状の表面距離は、計算がより複雑です。Ed Williams のjavascript での作業を参照してください。たぶん、彼はあなたに彼のコードを使わせてくれるでしょう。そうでない場合、彼は関連する参考文献を提供します。
無料のソリューションはhttp://ezcmd.com/apps/app_ezip_locator#ezip_locator_apiにあります。
2 つの緯度経度座標間の距離をマイルまたは Km 単位で見つけるのに役立ちます。
または、 http://ezcmd.com/apps/app_geo_postal_codes#geo_postal_codes_apiを試すことができます
「最良の」方法は、いくつかのことに依存します。正確性や目的のアプリケーションについて、もう少し背景を教えていただけますか? google.maps.DirectionsService クラスを使用すると、クライアント側で JavaScript を使用して走行距離を計算できますが、正確な直線距離が必要な場合は、postgresql + postgis サーバー側を使用できます。緯度/経度を使用して正確な距離を計算することは、関連するポイントと距離の範囲に応じて、地球の投影法が異なるため注意が必要です。