Здравствуйте
Задача: определить расстояние от адреса в МО до МКАД
Реализация:
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());
И вот тут застрял. вместо одной точки получаю все из МКАДа скриншот ответа
Что делаю не так ?