Можно ли отправить два длинных балла в Google, чтобы рассчитать расстояние между ними?расчет расстояний между двумя точками с помощью google maps api?
ответ
есть удобная функция
http://code.google.com/apis/maps/documentation/reference.html#GLatLng.distanceFrom
в основном создают 2 объекта GLatLng затем использовать описанный выше метод
Что вам нужно, это Haversine formula. Для этого вам не нужны Карты Google, вы можете работать отдельно. Для этого есть сценарий (в JavaScript) here.
Его уже много лет, так как я сделал это, но вы можете использовать Great Circle Distance
Нет, но
вы можете использовать формулу Vincenty, которая моделирует форму Земли. Он доступен в Javascript here.
Довольно легко разобрать веб-страницы (например): http://boulter.com/gps/distance/?from=51.5329855+-0.1303506&to=40.757584+-73.985642&units=m
Для людей, которые хотят только быструю меру расстояния, проверить this gadget. Однако он использует только вычисление большого круга.
Как отмечает Роб, Google добавили, но они до сих пор используют только большой круг формулу, которая может быть неточным 1/300.
Да Google может сделать это
вот кусок Java скрипт, получить это расстояние в км в течение двух точек
function initialize() { if (GBrowserIsCompatible()) { map = new GMap2(document.getElementById("map_canvas")); map.setCenter(new GLatLng(52.6345701, -1.1294433), 13); map.addControl(new GLargeMapControl()); map.addControl(new GMapTypeControl()); geocoder = new GClientGeocoder(); // NR14 7PZ var loc1 = new GLatLng(52.5773139, 1.3712427); // NR32 1TB var loc2 = new GLatLng(52.4788314, 1.7577444); alert(loc2.distanceFrom(loc1)/1000); } }
и расстояние кал в C#:
// this returns the distance in miles. for km multiply result: * 1.609344
public static double CalculateDistance(double lat1, double lon1, double lat2, double lon2)
{
double t = lon1 - lon2;
double distance = Math.Sin(Degree2Radius(lat1)) * Math.Sin(Degree2Radius(lat2)) + Math.Cos(Degree2Radius(lat1)) * Math.Cos(Degree2Radius(lat2)) * Math.Cos(Degree2Radius(t));
distance = Math.Acos(distance);
distance = Radius2Degree(distance);
distance = distance * 60 * 1.1515;
return distance;
}
private static double Degree2Radius(double deg)
{
return (deg * Math.PI/180.0);
}
private static double Radius2Degree(double rad)
{
return rad/Math.PI * 180.0;
}
Если вы просто хотите получить расстояние в виде числа, попробуйте несколько вещь как это.
function InitDistances() {
var startLocation = new GLatLng(startLat, startLon);
var endLocation = new GLatLng(endLat, endLon);
var dist = startLocation .distanceFrom(endLocation);
// Convert distance to miles with two decimal points precision
return (dist/1609.344).toFixed(2);
}
Если вы хотите использовать v3 Google Maps API, здесь функция, которую я использую: Примечание: вы должны добавить &libraries=geometry
к своему источнику сценария
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false&libraries=geometry"></script>
Теперь функция:
//calculates distance between two points in km's
function calcDistance(p1, p2){
return (google.maps.geometry.spherical.computeDistanceBetween(p1, p2)/1000).toFixed(2);
}
Я хочу расстояние до дороги не геометрическое расстояние? – codepk
- 1. Google maps Api - Место между двумя точками
- 2. Расчет расстояний между адресами без Google Maps
- 3. Рисование маршрута между двумя точками API Google Maps API V2
- 4. Расчет расстояний API Карт Google
- 5. Google Maps API Расстояние между двумя точками Возврат разных маршрутов
- 6. Google MapV2 Расчет расстояний
- 7. Расчет расстояний между точками в matlab
- 8. Расчет коротких расстояний между точками lat/long
- 9. Расчет расстояний между iOS GPS между 2 точками
- 10. google maps plot route между двумя точками
- 11. Нахождение расстояния между двумя точками с помощью API Карт Google
- 12. Снимок google maps api v2 между двумя точками
- 13. расстояние между двумя точками google maps a undefined api v3
- 14. Поиск боковых расстояний между двумя точками GPS
- 15. Расчет расстояния между двумя точками
- 16. Как рассчитать расстояние между двумя точками с помощью файла OSM?
- 17. матрица расстояний Google Maps дает неправильное расстояние между двумя точками, используя в завиток коде PHP
- 18. Как получить расстояние между двумя точками через API-интерфейс Google Maps J3?
- 19. Оптимальный маршрут между двумя точками
- 20. Расчет расстояний в Android?
- 21. получить курс между двумя точками в Google Maps
- 22. Google Map расчет расстояния между несколькими точками
- 23. Есть ли какой-либо API для определения расстояния между двумя точками с помощью Google Maps?
- 24. Google Maps V3 расстояние между двумя точками - разные значения
- 25. Вычисление расстояний с помощью Google Maps
- 26. Добавить строку между точками Google Maps
- 27. Получите расстояние между двумя точками, используя API Карт Google
- 28. Расчет угла между двумя точками - java
- 29. расчет расстояний x и y, а не смещение между двумя местами с использованием карт google
- 30. HQL: Расчет расстояния между двумя точками?
Идите прямо к [@ ответ SunnyD в ниже] (http://stackoverflow.com/questions/506747/working-out-distances-between-two-points-using-google -maps-api/6419141 # 6419141) для ответа API V3 API Карт Google. – Josh