Клуб API Карт

Как получить вершины полигона?

Пост в архиве.

Добрый день!

Мне нужно получить вершины полигона при завершении редактирования полигона.

Пытаюсь делать вот так но ничего не получается. Подскажите пожалуйста:)

 

<!DOCTYPE html>
<html>
<head>
    <script src="http://api-maps.yandex.ru/2.0-stable/?load=package.full&lang=ru-RU&mode=debug" type="text/javascript"></script>
    <script type="text/javascript">
ymaps.ready(init);
function show_polygon_points() {
    for(i = 0; i < polygon.length; i++) {
        alert(polygon[i].getPoints());
    };
}
function init() {
    var myMap = new ymaps.Map("map", {
        center: [55.753817, 37.632245],
        zoom: 10
    });
    var polygon = new ymaps.GeoObject({
        geometry: {
            type: "Polygon",
            coordinates: []
        }
    });
    myMap.geoObjects.add(polygon);
    polygon.editor.startDrawing();
    polygon.events.add('pixelgeometrychange', function () {
        show_polygon_points();
    })
    myMap.controls.add('zoomControl', {
        left: 5,
        top: 5
    });
}
    </script>
</head>
<META name=GENERATOR content="MSHTML 10.00.9200.16686">
<body>
    <div id="map" style="width:1300px; height:700px"></div>
</body>
</html>

 

5 комментариев

Метод getPoints из первой версии АПИ.

В версии 2.0 его нет.

К тому же твоя переменная polygon не будет видна внутри функции show_polygon_points

Получается я могу получить вершины методом polygon.geometry.getCoordinates().

Но если мне не видна переменная polygon, как мне это можно сделать?


Куча способов.

Передайте полигон в параметрах этой функции, например

Ок, спасибо, попробую.

Еще вопрос, а как поймать событие при завершении редактирования полигона?

можно слушать editorstatechange на полигоне