Всем привет)
Уже который день бьюсь с геокодером,и решил обратиться за помощью к знатокам)
Не судите строго новичок в этом всём.
Задача в том чтобы геокодировать список городов по названиям и вывести на карту метки с номерами по порядку.
Вот мои задумки:
В массив array_cities записываются названия городов, через которые я могу добраться до точки назначения (в данном примере для прстоты я работаю с постоянным массивом).
Элементы массива передаются в geocode().
И по координатам метка заносится в упорядоченную коллекцию GeoObjectArray(),а затем на карту.
Проблема в том, что ответы на запросы геокодера приходят в случайном порядке и в GeoObjectArray() метки заносятся в произвольном порядке, и из-за этого на карте значения меток не совпадаюст с номером города в массиве array_city.
Единственное что придумал - после того, как GeoObjectArray() заполнится, отсортировать его значения в соответствии с массивом array_city. Но не знаю, как вытащить из свойств геообъекта его название,чтобы сравнить это название с элементом массива array_city.
Подскажите,пожалуйста,как вытащить из свойств геообъекта его название?
Или может есть вообще какой-нибудь другой подход к решеню данной задачи?
function init ()
{
var myMap = new ymaps.Map("map", {
center: [55.45, 37.37],
zoom: 3
});
array_cities=["москва","т
incr=0
myCollection = new ymaps.GeoObjectArray();
for(var i=0;i< array_cities.length;i++)
{
myGeocoder= ymaps.geocode( array_cities[i], { results: 1 })
myGeocoder.then( function (res)
{
first=res.geoObjects.get(0)
first_obj=first.geometry.getCoordinates()
myPlacemark=new ymaps.Placemark(first_obj,{iconContent: incr})
myCollection.add(myPlacemark,incr)
incr+=1
}
)
}
myMap.geoObjects.add(myCollection)
}