Клуб API Карт

Как переместить по карте мои объекты??

Пост в архиве.
pryadunov
8 сентября 2010, 14:11
Подскажите пожалуйста с примером кода. Вот у меня есть кнопка. Которую я нарисовал и поставил поверх карты. Как мне сделать чтобы её можно было перетащить на карту? 
12 комментариев
Разъясните что имеется  в виду под терминами:
"поверх карты" и "на карту" ?

Как реализованна кнопка?

Чем вас не устраивают кнопки которые можно создавать с помошь АПИ?

Как пример :


 


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


Человечек заходит в приложение ( я хочу разместить в контакте ) перетаскивает кнопку на карту ( в будущем хочу чтобы эта кнопка обладала свойствами метки) И чтобы все их видели.


человек едит по дороге видит яму, запоминает примерное положение, например у остановке на дороге яма. он заходит в приложение перемещает из нескольких кнопок одну соответствующей событию с ямой, например больщая. и может вписать еще немного от себя в выноску. Другие будут заходить и видеть все эти метки. с ямами. смогут нажать на выноску ( то есть свойства метки ) или как она там называется балун помойму. и посмотреть что это за яма. - ЭТО ВАРИАНТ ПРИМЕРА. Судь будет такой же. вокргу этого будет крутиться идея.


 


ВОТ КАК ЭТО ПРИМЕРНО ВЫГЛЯДИТ


 


http://s58.radikal.ru/i161/1009/46/9206b9c187d1.jpg

 

 ну и красивее..

С этим я категорически не согласен.

Отобразить метку можно используя html. Так что выглядеть будет также.

Можно сделать:
Создать Метку в углу карты.
Включить ее перетаскивание.
По событию окончания перетаскивания проверять что она утащена в нужную область и создавать на том месте где она была еще одну?

Или по клику на кнопку добавить обработчик клика по карте, который по клику создаст метку и удалится.

Вариант с перетаскиванием на карту html объекта и налаживание взаимодействия его с картой, на мой взгляд самый сложнореализуемый.
20 строчек кода. Спрасибо яндексу что теперь прокидывает события мышки
Отличная идея!! Напиши пример кода, метки, если не трудно!!! Заранее благодарю
используется prototype.js
практически без изменений код портируется под jquery


   mydrag = new Draggable( sourceObject, { revert: true,
                                           onEnd:function(dragg,event)
                                           {
       event=event||window.event;
       xy=defPosition(event);//сдвиг на строл окна
       dX=getRealOffsetX($p("map_overlayed"));//определение офсета карты
       dY=getRealOffsetY($p("map_overlayed"));
       p1={x:xy.x-dX,y:xy.y-dY};
       MW=$p("map_overlayed").clientWidth;
       MH=$p("map_overlayed").clientHeight;
       if(p1.x>0 && p1.y>0 && p1.x       ll=GetMap().fromContainerPixelToLatLng(p1);
       zoom=GetMap().getZoom();
// все, мы знаем где бросили точку.

Сори за страшный код - ему почти два года. Зато его низкоуровневость лучше раскажет принцип.

А метки у меня особо яндекс не совместимые

А куда мне здесь его вставить? А то не совсем понимаю??








http://wwwуецу/14.png) center center">

 


 

Явно не сюда, а каким либо образом куда угодно добавить кнопку которую надо будет такскать на карту, и повесить подобный код на нее.

Но на ваш вопрос только один ответ


Как мне сделать чтобы её можно было перетащить на карту?



повесить на нее какой либо dragable, после чего отработать dragEnd каким либо образом
 
if(p1.x>0 && p1.y>0 && p1.x
Интересный подход :) Хотя можно рамку увеличить от пикселя до размера кнопки, тогда будет визуально видно попал не попал.

Ты используешь промежуточный интерфейс перед картами?
if(p1.x>0 && p1.y>0 && p1.x
определяет что сброс обьекта был в пределах карты. Так как сброс происходит, вообщето, в пределах всего документа.


Ты используешь промежуточный интерфейс перед картами?

Угу, и маркеры не использую - только гугл оверлеи, чей пропотип расширен до совместимости с яндекса картами( 4 строчки кода в оверлей, и 10 в яндекс карты и вуаля - работает )

Правда это работало до перехода на google v3 - там пришолось уже работать более красивыми и удобными средствами
 
if(p1.x>0 && p1.y>0 && p1.x
Я про if {} else, мне интуитивней: !