Я разрабатываю приложение Meter (в android). Я вычисление расстояния между двумя точками по формуле (в заднем месте)Gps расстояние между двумя точками
double calculateDistancs(double lat1, double long1, double lat2,
double long2) {
double earthRadius = 6371000; // meters
double dLat = Math.toRadians(lat2 - lat1);
double dLng = Math.toRadians(long2 - long1);
double a = Math.sin(dLat/2) * Math.sin(dLat/2)
+ Math.cos(Math.toRadians(lat1))
* Math.cos(Math.toRadians(lat2)) * Math.sin(dLng/2)
* Math.sin(dLng/2);
double c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
float dist = (float) (earthRadius * c);
return dist;
}
Я не получаю такое же и точное расстояние между моим домом до станции метро. Предоставьте другой подход, если он доступен в Android.
Итак, второй вариант - использовать google api для получения маршрута расстояния bn два latlong, но в этом случае он будет атаковать api много раз. Я хочу знать, какой подход лучше всего.
Я получаю различные latlong в одном и том же месте, может кто-то, пожалуйста, заставьте меня понять для этого.
Спасибо за помощь. Можете ли вы предоставить некоторый подход к выполнению этой задачи. Есть ли другой способ сделать это. –
Это помогает при визуализации местоположений, например. в файле kml, а затем посмотрите, какие местоположения вы выберете из расчета расстояния, и разработайте свою собственную технологию фильтрации. – AlexWien