Клуб API Карт

Заголовок не указан

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

Доброго здравия!

        function add_point(point , color , content){

            var placemark = new ymaps.Placemark(point, {

                    iconContent : content,

                }, { preset: 'twirl'+color+'StretchyIcon' });

            myMap.geoObjects.add(my_placemark = placemark);

            return my_placemark;

        }

        start_placemark = add_point(start_point , '#blue' , 'От');

        myMap.geoObjects.remove(start_placemark);

почему метка не удаляется?Как мне модифицировать код что бы удалялась?

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

Может вот так заработает...

function add_point(point , color , content){

            var Myplacemark = new ymaps.Placemark(point, {

                    iconContent : content,

                }, { preset: 'twirl'+color+'StretchyIcon' });

            myMap.geoObjects.add(Myplacemark);          

        }

        add_point(start_point , '#blue' , 'От');

        myMap.geoObjects.remove(Myplacemark);

Слава Русов
28 января 2016, 04:04

Дело в том что мне нужно что бы функция возвращала объект-метку что бы я мог присвоить переменной start и end и потом уже удалять эти объекты через эти ссылки.

ну и возвращайте метку (Myplacemark), а не ссылку на глобальную переменную

Слава Русов
28 января 2016, 04:04

благодарю за помощь

если так делать

myMap.geoObjects.add(my_placemark = placemark);

то каждый вызов функции будет перезаписывать ссылку на метку и удаляться всегда будет последняя

Слава Русов
28 января 2016, 04:04

Мне кажется или JAVASCRIPT писали садисты?))

вообще-то javascript прекрасен,

а вот php уже давно следует похоронить рядом с ИЕ6

примерно одного уровня поделки

Слава Русов
28 января 2016, 04:04

Про ie6 согдасен про php нет.

Слава Русов
28 января 2016, 04:04

я так понимаю предпочитаете node.js?

да он тоже прекрасен и ну очень быстр

Слава Русов
28 января 2016, 04:04

Не получается удалить.Прописываю console.log(my_placemark);

показывает объект e (я как понимаю event)

 

        function add_point(point , color , content){

            var placemark = new ymaps.Placemark(point, {

                    iconContent : content,

                }, { preset: 'twirl'+color+'StretchyIcon' });

            myMap.geoObjects.add(placemark);

            return placemark;

        }

 

            start_placemark = add_point(start_point , '#blue' , 'От');

            end_placemark = add_point(end_point , '#red' , 'До');

            console.log(start_placemark);

Что сейчас не так делаю?

 

 

"е" - нормально у тебя АПИ без mode=debug подключен (обфусцирован) поэтому и "е"

Слава Русов
28 января 2016, 04:04

только не забудь убрать в продакшене

с этим параметром апи грузится на порядок дольше

Слава Русов
28 января 2016, 04:04

блин проблему так и не решил.Может у меня не грузится потому что это все происходит при клике?

ссылка есть?

Слава Русов
28 января 2016, 04:04

все на денвереЩас на хостинг залью

Слава Русов
28 января 2016, 04:04

И вообще нужен человек который смог бы помогать по мере возможности.За wmr.Обещать много не могу.Да заинтересовать человека работающего в риа новости нет так просто.Сможешь помочь?Потому чувствую что начальный будет не особо рад скорости разработки.если время конешно есть

пиши в клуб будем помогать

у тебя сначала перезаписывается ссылка на плэйсмарк а потом ты пытаешься его удалить

и он удаляет не тот

 

start_placemark = add_point(start_point , '#blue' , 'От');
end_placemark = add_point(end_point , '#red' , 'До');

 

надо наверное так:

 

start_placemark && map.geoObjects.remove(start_placemark);start_placemark = add_point(start_point , '#blue' , 'От');ну и для end_placemark тоже самое

 

Слава Русов
28 января 2016, 04:04

что обозначает конструкция start_placemark && map.geoObjects.remove(start_placemark);?

Я так понимаю && == AND?

это логическое выражение

оно будет истинно (выполнится вторая часть map.geoObjects.remove) только если значение по ссылке start_placemark будет истинно, т.е.

!= "" - твой случай

!= 0

!= false

!= undefined

!= null

!= NaN

Слава Русов
28 января 2016, 04:04

Как задать цвет обводки у viaPoint?

Слава Русов
28 января 2016, 04:04

Только просьба от коде не пугатся.Я реально понимаю что это куралесилово)

я давно тут и кажется уже ничего не боюсь =)

Слава Русов
28 января 2016, 04:04

Код вообще отстой?

ну местами...

У тебя много глобальных переменных используется.

и странные проверки типа if(placemark == "")

ну и обработчик клика на карте оч. раздут

 

Слава Русов
28 января 2016, 04:04

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