@shdprogrammer

Как отобразить данные на яндекс карте через LoadingObjectManager?

Доброго времени суток. Пытаюсь отобразить элементы на яндекс карте используя LoadingObjectManager. С картами раньше работал совсем немного, потому могу чего-то не знать. Код:

ymaps.ready(function (ymaps) {

        var Map = new ymaps.Map('mymap', {
            center: [48.65,44.39],
            zoom: 10,
            controls: ["zoomControl", "fullscreenControl"]
        });

        var loadingObjectManager = new ymaps.LoadingObjectManager('url'+'?bbox=%b',
            {
                clusterize: true,
                clusterHasBalloon: false,
                geoObjectOpenBalloonOnClick: false
            });
        Map.geoObjects.add(loadingObjectManager);
    });


Карта загружается, запрос на сервер уходит, данные возвращаются, но на карте объектов нет. Что я делаю не так? Заранее спасибо.

UPD: Возвращается от сервера данные в формате, как в доках по карте:

callback_name({
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "id": 0,
      "geometry": {
        "type": "Point",
        "coordinates": [55.831903, 37.411961]
      },
      "properties": {
        "balloonContent": "Содержимое балуна",
        "clusterCaption": "Метка 1",
        "hintContent": "Текст подсказки"
      }
    },
    {
      "type": "Feature",
      "id": 2,
      "geometry": {
        "type": "Point",
        "coordinates": [55.763338, 37.565466]
      },
      "properties": {
        "balloonContent": "Содержимое балуна",
        "clusterCaption": "Метка 2",
        "hintContent": "Текст подсказки"
      }
    }
  ]
})


Данные обернуты в callback
  • Вопрос задан
  • 1014 просмотров
Пригласить эксперта
Ответы на вопрос 2
@Tvolod
Имя функции в запросе и ответе совпадает? Т.е. в ответе должно быть:
echo $_GET['callback'];
?>({
....данные
?>})
Ответ написан
Комментировать
lelik1973
@lelik1973
Разработка ПО и веб-приложений
Мне удалось решить проблему явным заданием опций отображения при создании или после создания LoadingObjectManager. Например, при создании:
var loadingObjectManager = new ymaps.LoadingObjectManager('url'+'?bbox=%b',
            {
                geoObjectpreset: 'islands#yellowIcon'
            });

После создания:
// Задаем опции для коллекции одиночных объектов (опция применится для меток).
loadingObjectManager.objects.options.set({ preset: 'islands#yellowIcon' });

См. также https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/ref/r... и https://yandex.ru/dev/jsapi-v2-1/doc/ru/v2-1/dg/co...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы