Клуб API Карт

Динамическая установка точек

lazutinia
4 марта 2013, 12:39

 

<script type="text/javascript">

        ymaps.ready(init);

var myMap, myPlacemark;

 

        function init () {

            var myMap = new ymaps.Map("map", {

                    center: [56.4118, 61.9315],

                    zoom: 11

                }, {

                    balloonMaxWidth: 200

                });

 

myMap.controls

                .add('zoomControl')

                .add('smallZoomControl', { right: 5, top: 75 })

                .add('mapTools');

 

            myMap.controls

                .add(new ymaps.control.ScaleLine())

                .add(new ymaps.control.MiniMap({

                    type: 'yandex#publicMap'

                }));

 

            myMap.events.add('contextmenu', function (e) {

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

            addPoint(coords[0].toPrecision(8),coords[1].toPrecision(8));

            });

        }

 

function addPoint(ex,ey)

   {

   $.post("ajax.php?action=addPoint",

      {

      x : ex,

      y : ey

      },

      function(data)

      {

      if(data.result == "OK")

         {

         myPlacemark = new ymaps.Placemark([data.x, data.y]);

         myPlacemark.properties.set({

         iconContent: data.content,

         hintContent: data.hint,

         balloonContent: data.balloon

         });

      myMap.geoObjects.add(myPlacemark);

      }

      else

      {

      alert("Ошибка добавления точки!");

      }

      },"json");

   }


</script>

 

В итоге - myMap not defined


Подскажите что не так? :)

 

2 комментария
Подписаться на комментарии к посту
Всеволод Шмыров
4 марта 2013, 13:49

У вас не выставляется глобальная переменная myMap в init. Нужно убрать var

myMap = new ymaps.Map(...

точно ведь, не заметил =) спасибо =)