私は過去24時間、この問題を解決しようとしてきました...
仮説は次のとおりです。
現在の経度 (10 進形式): 53.3205556
現在の緯度 (10 進数形式): -1.7297223
走行距離:1400km
方位角: 45°
1400 キロメートル後の新しい座標を 10 進数で計算したいと思います。これが私のコードです(PHPで)。
function calc_position($latitude, $longitude, $distance, $heading){
$r = 6378;
// Earth circonference
// Convert heading in degres to radians
$bearing = deg2rad($heading);
// Compute new latitude and longitude
$latitude2 = asin( (sin($latitude) * cos($distance/$r)) + (cos($latitude) * sin($distance/$r) * cos($bearing)) );
$longitude2 = $longitude + atan2( sin($bearing)*sin($distance/$r)*cos($latitude), cos($distance/$r)-(sin($latitude)*sin($latitude2)) );
return (object) array(
'latitude' => $latitude2,
'longitude' => $longitude2
);
}
残念ながら、新しい経度と緯度の結果は間違っています (地図に一貫して表示されません)。この式を試すためにチュートリアル HEREを徹底的に実行しましたが、この Web サイトにもかかわらず解決策を見つけることができません。