-
Google Maps APIを利用する方法: Google Maps APIは、地理的位置に関連する機能を提供する強力なツールです。以下の手順に従って、APIを使用して2つの場所間の距離を計算します。
1.1. Google Cloud Platform (GCP) コンソールにアクセスし、新しいプロジェクトを作成します。 1.2. プロジェクトの設定画面で、Google Maps APIを有効化します。 1.3. APIキーを生成し、アプリに組み込みます。
2つの場所の緯度経度を取得した後、以下のコードを使用して距離を計算します。
import android.location.Location fun calculateDistance(lat1: Double, lon1: Double, lat2: Double, lon2: Double): Float { val location1 = Location("") location1.latitude = lat1 location1.longitude = lon1 val location2 = Location("") location2.latitude = lat2 location2.longitude = lon2 return location1.distanceTo(location2) }
-
Haversine式を使用する方法: Haversine式は、球面上の2つの点間の距離を計算するための数学的な式です。以下のコード例では、Haversine式を使用して2つの場所間の距離を計算します。
import kotlin.math.* fun calculateDistance(lat1: Double, lon1: Double, lat2: Double, lon2: Double): Double { val r = 6371.0 // 地球の半径(km) val latDistance = Math.toRadians(lat2 - lat1) val lonDistance = Math.toRadians(lon2 - lon1) val a = sin(latDistance / 2) * sin(latDistance / 2) + cos(Math.toRadians(lat1)) * cos(Math.toRadians(lat2)) * sin(lonDistance / 2) * sin(lonDistance / 2) val c = 2 * atan2(sqrt(a), sqrt(1 - a)) return r * c }
上記のコード例では、2つの場所の緯度経度を引数として取り、距離を返します。計算された距離は、メートルまたはキロメートルで表されます(Google Maps APIの場合はメートル、Haversine式の場合はキロメートル)。