Клуб API Карт

Проблема с маркерами

filondesign
28 июня 2012, 15:09

Добрый день.
Вначале хотел создать ajax balloon (с google maps проблем не возникало), но не понял как получить параметры и вставить их в балон на точке.
Да и описания не нашел, хотя это самая популярная задача. (хоть бы в примерах сделали)

Вот написал пример.
Переменная  coord  генерируется php... 
В итоге на карте получаю маркет находящийся в ЮАР, хотя координаты москвы.
Укажите где моя ошибка.
И если есть ссылки на текст про ajax baloon, напишите.

var coord = [{ point: '55.7515124, 37.6522426', name: 'Имя1', description: 'Описание 1' },
    { point: '55.7582572, 37.6355015', name: 'Имя1', description: 'Описание 2' },
    { point: '55.7556629, 37.6210365', name: 'Имя1', description: 'Описание 3' } ];
    
    
function initmap () 
{
    var myMap = new ymaps.Map("map", {
            center: [55.76, 37.64],
            zoom: 10
        }),
  
    // Определяем границы карты: координаты левого верхнего и правого нижнего ее углов.
    bounds = myMap.getBounds(),
    myPlacemark,
    //  Создаем экземпляр класса коллекции геообъектов.
    myCollection = new ymaps.GeoObjectCollection();
       
    
    for (i = 0; i < coord.length; i++)
    {
        var properties = 
        {
            balloonContent: coord[i].description,
            hintContent: coord[i].name,
            iconContent: i
        };
                
        myPlacemark = new ymaps.Placemark(coord[i].point, properties);
        
       
        // Добавляем метку в коллекцию.
        myCollection.add(myPlacemark);
    }  
         
    myMap.behaviors.enable("scrollZoom");    
    myMap.controls.add('zoomControl').add('typeSelector').add('mapTools');
    myMap.geoObjects.add(myCollection)
   
}

 

В гугле я делал так ajax balloon:
Как возможно подобное реализовать на YandexMaps 

 

 

 function attachSecretMessage(map, marker, object, id) 

    {

        infoWindow = new google.maps.InfoWindow();

       

        google.maps.event.addListener(marker, 'click', function() 

        {

           

                infoWindow.setContent('<div class="info_map" ><img src="http://'+location.host+'/img/autocomplete_indicator.gif" /> Загрузка...</div>');

                infoWindow.open(map,marker);

 

                $.ajax(

                {

                    url:...,

                    type: 'POST',

                    dataType: 'json', 

                    data: { object: object },

                    success: function(obj) { 

                         

                        $(".info_map").html('');

                        $(".info_map").html(obj.get_html);

                    }

                });

                 

       

        });

        

         

    }

4 комментария
Подписаться на комментарии к посту

 

Укажите где моя ошибка.

 

 

конструктор ymaps.Placemark принимает не строку а массив из двух чисел

myPlacemark = new ymaps.Placemark(coord[i].point.split(','), properties);


Пример есть тут вместо ajax там setTimeout

Спасибо за разъяснение по поводу Placemark.
Попробую поковырять  setTimeout

Не селен я в JS ((
Не понятно как это все работает.

немогли бы вы показать более простой пример setTimeout ?

Что то проде

setTimeout('Где взять контент', 'как вставить в балун по которому кликнул') 

смотрите на setTimeout как на имитацию ajax -

просто данные отдались с некоторой задержкой

 

                $.ajax(

                {

                    url:...,

                    type: 'POST',

                    dataType: 'json', 

                    data: { object: object },

                    success: function(obj) { 

                         

                        placemark.properties.set('balloonContent', obj.get_html);

                    }

                });