Я пытаюсь получить пройденное расстояние между двумя точками долготы и широты по рельсам, геокодировщику или любому другому эффективному способу. Есть ли?
получить расстояние между двумя точками долготы и широты
03.01.2013
- Вы проводили какие-либо исследования? 03.01.2013
- В документации Google Maps API v3 указано, что либо исходный, либо конечный пункт (или путевые точки) может быть либо адресом, либо google.maps.LatLng а>. Чтобы получить расстояние между двумя точками долготы/широты, передайте их в запросе как объекты google.maps.LatLng. 03.01.2013
Ответы:
1
В документации Google Maps API v3 указано, что либо исходный, либо конечный пункт (или путевые точки) может быть либо адресом, либо google.maps.LatLng а>. Чтобы получить расстояние между двумя точками долготы/широты, передайте их в запросе как объекты google.maps.LatLng.
связанный вопрос: общее расстояние и время для всех путевых точек в гугл картах v3
доказательство концепции скрипки
фрагмент кода (на основе примера в документация):
function initMap() {
var directionsService = new google.maps.DirectionsService;
var directionsDisplay = new google.maps.DirectionsRenderer;
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 7,
center: {
lat: 41.85,
lng: -87.65
}
});
directionsDisplay.setMap(map);
// New York, NY, USA (40.7127837, -74.0059413)
var start = new google.maps.LatLng(40.7127837, -74.0059413);
//Baltimore, MD, USA (39.2903848, -76.6121893)
var end = new google.maps.LatLng(39.2903848, -76.6121893);
calculateAndDisplayRoute(start, end, directionsService, directionsDisplay);
}
function calculateAndDisplayRoute(start, end, directionsService, directionsDisplay) {
directionsService.route({
origin: start,
destination: end,
travelMode: google.maps.TravelMode.DRIVING
}, function(response, status) {
if (status === google.maps.DirectionsStatus.OK) {
var totaldistance = 0;
var route = response.routes[0];
// display total distance information.
for (var i = 0; i < route.legs.length; i++) {
totaldistance = totaldistance + route.legs[i].distance.value;
}
document.getElementById('distance').innerHTML += "<p>total distance is " + (totaldistance / 1000).toFixed(2) + " km</p>";
directionsDisplay.setDirections(response);
} else {
window.alert('Directions request failed due to ' + status);
}
});
}
google.maps.event.addDomListener(window, "load", initMap);
html,
body,
#map {
height: 100%;
width: 100%;
margin: 0px;
padding: 0px
}
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyCkUOdZ5y7hMm0yrcCQoCvLwzdM6M8s5qk"></script>
<div id="distance"></div>
<div id="map"></div>
03.01.2013
2
Если вы не хотите полагаться на (изумительно созданные) API Google или привязаны к ограничениям API, я только что обнаружил еще один вариант: osrm-проект.
В моем случае мне нужно было получить ближайшее расстояние почти из 200 000 домов до определенной точки интереса.
02.11.2017
3
Новые материалы
Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..
Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально
Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..
Частный метод Python: улучшение инкапсуляции и безопасности
Введение
Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..
Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования
Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..
Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv)
Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..
Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..
Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..