Клуб API Карт

Как получить высоту и как манипулировать результатами поиска?

Алексей Дмитриевич
30 июня 2015, 10:05

1) Что-то нигде не могу найти, каким образом мне получить altitude (высоту) гео-объекта? 

2) Пытаюсь получить управление над результатами поиска, но пока получается какая-то ерунда. В частности реализую следующий функционал:

  • При загрузке страницы на карте есть placemark, указывающий положение пользователя
  • Есть searchControll
  • У пользователя 2 варианта, либо вручную тараканить placemark до нужной точки, либо же через поиск по карте найти место и передвинуть точку.
С тасканием точки изначальной, которую я сам размещаю на карте всё в порядке «сто раз так делал», а вот с навешиванием того же поведения на placemark из результатов поиска ерунда какая-то, у меня получается что моя точка ставится поверх той, что из результатов получилась, пытался даже делать вот так:

 
 search.events.add('resultshow', function (e) {
                var object = [];
                myMap.geoObjects.each(function(geoObject){
                    console.log(geoObject);
                    object = geoObject.geometry.getCoordinates();
                    myMap.geoObjects.remove(geoObject);
                });

                app.mapAddPoint(myMap,object);

            });


Но результаты не очищаются и доступа к метке я не получаю 

4 комментария
Подписаться на комментарии к посту
Алексей Дмитриевич
30 июня 2015, 11:21

Судя по всему, моя основная ошибка в том, что в результатах поиска я получаю совешенно новую карту.

Если вам нужно чтобы не показывался результат поиска, можно использовать опцию noPlacemark

Чтобы переместить метку можно подписаться на событие resultselect как в примере  

Высоту геообъекта кажется судя по комментариям разработчиков получить нельзя

Алексей Дмитриевич
30 июня 2015, 12:13

Спасибо, с плейсмарками разобрался по своему =) а с высотой дальше раскуриваю

Алексей Дмитриевич
30 июня 2015, 12:12

с placemark разобрался, забыл что надо было в коллекцию всё добавлять и с ней уже работать.

 

Вот так работает норм

 

search.events.add('resultshow', function (e){
                    search.getResult(e.get('resultIndex')).then(function(result){                        placemark.geometry.setCoordinates(result.geometry.getCoordinates());                        myMap.geoObjects.add(result);                        myMap.geoObjects.remove(result);                    });                    myMap.geoObjects.add(placemark);                });

 

А вот с altitude пока не врубаюсь как получить