Здравствуйте
Задача: определить расстояние от адреса в МО до МКАД
Реализация:
ymaps.ready(init);
function init() {
var myMap = new ymaps.Map("map", {
center: [55.73, 37.75],
zoom: 9
}, {
searchControlProvider: 'yandex#search'
}),
mkadCoord = [[
[55.774558,37.842762],
[55.76522,37.842789],
// ...............
[55.793991,37.840965],
[55.785017,37.841576]
]],
mkadPolygon = new ymaps.Polygon(
mkadCoord,
{
hintContent: "МКАД"
}, {
fillColor: '#00FF0020',
strokeWidth: 1
}),
mkad = ymaps.geoQuery( mkadPolygon).addToMap(myMap),
geores = ymaps.geoQuery( ymaps.geocode("Москва, Зеленоград",
{boundedBy: myMap.getBounds(),strictBounds: true,results: 1} )
).then( findClosestObjects );
function findClosestObjects(){
var point = geores.get(0),
closestPoint;
myMap.geoObjects.add(point);
closestPoint = mkad.getClosestTo(point);
console.log(closestPoint.geometry.getCoordinates());
}
}
Используется api 2.1 . Создается карта с центром в Москве. Создается МКАД в виде многоугольника по координатам ( всего 108 точек . в коде все не показывал ). Потом на карту наносится адрес ( для примера Москва, Зеленоград ). Дальше пытаюсь найти ближайшую точку из МКАДа ( многоугольника ) к адресу.
closestPoint = mkad.getClosestTo(point); console.log(closestPoint.geometry.getCoordinates());
И вот тут застрял. вместо одной точки получаю все из МКАДа скриншот ответа
Что делаю не так ?