図APIは比較的周りの座標系
単純に座標系を、様々なものを記録
- WGS84座標系:地球システム、世界で共通の座標系を座標。デバイスは、一般的にWGS84地理座標系GPSチップまたはチップコンパス取得した緯度と経度を含む、Googleマップは、WGS84地理的に(中国の範囲を除く)座標系を使用します。
- 火星座標系を、WGS84は、暗号化の座標系での座標系、座標系GISの中国国家地図局が開発した、と要求された後に使用中国使用マップ製品を暗号化する必要があります。システムはGCJ02座標これは、座標。中国のグーグルマップと中国曹操マップはGCJ02地理座標系を使用しています。
- BD09座標系:座標系Baiduのを、GCJ02は暗号化された座標系での座標系、すなわち、公式の説明はさらに、ユーザーのプライバシーを保護することです。
- またGCJ02単位を暗号化することによって推定されるなどシステム、マップ座標を、座標のSogou。
2点のJavaの間の距離を計算します
private static final double EARTH_RADIUS = 6378.137;
public static double calculateDistance(
double longitude1, double latitude1, double longitude2, double latitude2) {
double radLat1 = rad(latitude1);
double radLat2 = rad(latitude2);
double diffLat = radLat1 - radLat2;
double diffLon = rad(longitude2) - rad(longitude1);
double s =
2
* Math.asin(
Math.sqrt(
Math.pow(Math.sin(diffLat / 2), 2)
+ Math.cos(radLat1)
* Math.cos(radLat2)
* Math.pow(Math.sin(diffLon / 2), 2)));
s = s * EARTH_RADIUS * 1000;
return s;
}
private static double rad(double d) {
return d * Math.PI / 180.0;
}