Клуб API Карт

Необходимо "единоразовое" добавление метки

Пост в архиве.
michaelprots
23 апреля 2012, 09:54

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

подскажиет, что дописать\добавить, сейчас это сделано таким образом:

 

var onClick = function (e) {

 

      var coords = e.get('coordPosition');

      var myGeoObject = new ymaps.GeoObject({

         geometry: {

             type: "Point",

             coordinates: [coords[0], coords[1]]

         },

         properties: {

             ...

         }

     }, {

         draggable: true,

         balloonCloseButton: true,

         

         preset: "twirl#blueDotIcon"

     }

 

myMap.geoObjects.add(myGeoObject)

      

      myMap.events.remove('click',onClick);

4 комментария

удаляйте старую, или перезадавайте ей координаты, если она уже есть.

кстати, а как сейчас можно изменить geoobject?

методы - только get...

никак?

 

var myGeoObject;

var onClick = function (e) {

      var coords = e.get('coordPosition');

     if (myGeoObject)

   {

myGeoObject.coordinates = coords 

} else {

 myGeoObject = new ymaps.GeoObject({

         geometry: {

             type: "Point",

             coordinates: [coords[0], coords[1]]

         },

         properties: {

             ...

         }

     }, {

         draggable: true,

         balloonCloseButton: true,

         

         preset: "twirl#blueDotIcon"

     });

}