Клуб API Карт

Получение координат вершины многоугольника по нажатию кнопки

Kichee
16 октября 2010, 15:45

Здравствуйте.

Создал многоугольник аналогичный примеру http://api.yandex.ru/maps/jsapi/examples/mappolygonediting.html

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

Координаты я могу получить внутри полигона вызывая, к примеру, alert(YMaps.map.polygon.getGeoPoint()); но эта команда работает только внутри YMaps.jQuery(function () { }, как мне получить координаты из любого места кода?

Заранее спасибо за помощь

2 комментария
Подписаться на комментарии к посту
Это связано с тем, что переменная полигона определена в функции и поэтому не доступно в глобальной области видимости. Вам нужно вынести ее в глобальную область видимости. Самый простой способ - это стереть у ее определения ключевое слово "var":

polygon = new YMaps.Polygon(...);

А лучше объявите переменную до своего обработчика:
var polygon;
YMaps.jQuery(function () {
    ...
    polygon = new YMaps.Polygon(...);
    ...
});

Спасибо, действительно работает!


Я пытался ее сделать глобальной приставкой global, привык уже к php :)


 


Я правда уже сделал через создание кнопки как инструмента карты:


 


var edit_button = new YMaps.ToolBarButton({
caption: "Продолжить редактирование",
hint: "Нажмите, чтобы продолжить редактирование"
});


 


YMaps.Events.observe(edit_button, edit_button.Events.Click, function () {
polygon.startEditing(); 
}, map);