Я бы хотел остановиться на предложении Леора для тех, кто не знает, как вычислить ближайшее местоположение и действительно предоставить рабочее решение:
Я использую маркеры в markers
массив, например, var markers = [];
.
Тогда давайте определим нашу позицию примерно как var location = new google.maps.LatLng(51.99, -0.74);
Затем мы просто уменьшим наши маркеры по отношению к местоположению, которое у нас есть, вот так:
markers.reduce(function (prev, curr) {
var cpos = google.maps.geometry.spherical.computeDistanceBetween(location.position, curr.position);
var ppos = google.maps.geometry.spherical.computeDistanceBetween(location.position, prev.position);
return cpos < ppos ? curr : prev;
}).position
Появляется ваш ближайший маркер LatLng
объект.