Saya memiliki program di mana nilai lintang dan bujur suatu lokasi disimpan dalam database, yang saya unduh.
Saya ingin mendapatkan jarak antara koordinat ini, dan lokasi saya saat ini.
Kelas Lokasi memiliki metode sederhana untuk menemukan jarak antara dua objek Lokasi, jadi saya pikir saya akan membuat objek Lokasi dengan koordinat, lalu memanggil metode tersebut.
Adakah cara mudah untuk melakukan ini? Juga, jika ada persamaan lain yang andal dan cukup sederhana yang tidak akan terlalu mengacaukan banyak hal, itu juga akan berhasil. Terima kasih.
(android.location.Location)
Jawaban:
Dengan asumsi bahwa Anda sudah memiliki objek lokasi dengan lokasi Anda saat ini.
Location targetLocation = new Location("");//provider name is unnecessary targetLocation.setLatitude(0.0d);//your coords of course targetLocation.setLongitude(0.0d); float distanceInMeters = targetLocation.distanceTo(myLocation);
sumber
static { location.setLatitude(0.0d); location.setLongitude(0.0d); }
Anda dapat membuat lokasi menggunakan konstruktornya , lalu menyetel nilai lintang dan bujur.
final Location location = new Location("yourprovidername"); location.setLatitude(1.2345d); location.setLongitude(1.2345d);
sumber
"yourprovidername"
?Saya menjawab ini lagi, karena banyak orang seperti saya tidak tahu apa itu
"providername"
sebenarnya. Kode di bawah ini menjawab pertanyaan:Location location = new Location(LocationManager.GPS_PROVIDER); location.setLatitude(23.5678); location.setLongitude(34.456);
Di sini saya gunakan
LocationManager.GPS_PROVIDER
sebagai nama provider.sumber
LocationManager.GPS_PROVIDER
dan apakah ada alternatif yang bisa kita pertimbangkan?location
objek dibuat secara manual, bukankah lebih tepat menggunakan string kosong daripadaLocationManager.GPS_PROVIDER
,LocationManager.PASSIVE
atauLocationManager.NETWORK_PROVIDER
?