Клуб API Карт

Найдено на тему «JSON»:
Получение координат из JSON и отображение их как коллекции объектов. Нужна помощь!
Azat Zagitov
10 марта 2017, 15:22

Добрый день. Необходима помощь. Пытаюсь получить координаты из JSON и вывести их на карте как коллекцию объектов.

Данные получаю, в консоли выводится, а карта не хочет их отображать.

Вот код: 

var items = [];
	console.log("JSON start...")
	jQuery.getJSON( url, function( json ) {
		jQuery.each(json.posts, function(key, index) {
			loc = index.custom_fields.map_coords[0];
			items.push(loc);
		});
	})
	.done(function() {
		console.log("JSON received... Start YMaps")
		ymaps.ready(init);
		function init() {
			var myMap = new ymaps.Map("map", {
				center: [54.738307, 55.945710],
				zoom: 13
			}),
			addresses = new ymaps.GeoObjectCollection(null, {
				preset: 'islands#yellowIcon'
			});
			console.log('1st elem: ' + items[0] + "\nArray length: " + items.length);
			for (var i = 0, l = items.length; i < l; i++) {
				addresses.add(new ymaps.Placemark(items[i]));
			}

			myMap.geoObjects.add(addresses);
		}
	})
	.fail(function() {
		console.log( "error" );
	});

Получаю ошибку, Cannot read property 'then' of null. Я так понял массив координат ему не нравится. Хотя в консоли всё нормально отображается.

В чём может быть проблема?

3 комментария
JSON,коллекции
Интерактивная карта памятников и достопримечательностей Оренбургской области
Дарий Лав
23 декабря 2015, 00:50

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

В проекте реализовано добовление меток с помощью  objectManager с загрузкой данных из файла json; выполнена замена стандартных меток на собственные на основе спрайтов; центрирование карты на определенном участке с заданным масштабом; использованны расширенные настройки балуна вставленны изображения и ссылки на описание объекта.

Скачать файлы примера можно тут

9 комментариев
API 2.1,WordPress,JSON,балун,примеры пользователей
Как обработать json
Дарий Лав
7 декабря 2015, 19:14

Помогите пожалуйста с файлом data.json, из этого примера Оптимальное добавление множества меток. Не могу заставить отобразить метки на сайте под управлением Wordpress. пробовал вариант от Wp-kama но делаю что-то не так или она уже устарела, поиск не дал ответа. А сегодня заметил что при переходе в меню Настройки темы (например сменить фон) и он в предпоказе отображает метки на карте как положено. В общем совсем запутался.

https://yadi.sk/i/-htMxzEAm4D5Z режим просмотра

https://yadi.sk/i/dhtF6b6cm4Cwk режим настройки

Я так понимаю вся проблема в PHP и AJAX, а именно вот в этой части:

  

 Введите содержимое врезки

 

2 комментария
WordPress,JSON
zIndex меток и json со свойствами (решено)
IZ
5 декабря 2015, 13:40

Доброго дня
У меня есть json с данными меток
У некоторых меток в опциях стоит больший zIndex

но они выше не становятся

пример json

 

{ "type": "Feature", "id": 255, "geometry": {"type": "Point", "coordinates": [57, 29]}, "properties": { "balloonContentHeader": "Big street"", "balloonContentBody": "description company", "balloonContentFooter": "Подробнее", "clusterCaption": "Big street", "hintContent": "Big street"" }, "options": {"preset": "point#icon","zIndex":"675"} }
2 комментария
zIndex,метка,API 2.1,JSON
Использую ObjectManager для добавления меток. Проблема с json
pira1ds
17 сентября 2015, 17:38

Добрый день, использую ObjectManager для добавления меток на карту. Тестовый пример как в песочнице работает на ура. Мой же вариант не работает. Карту грузит. В консоль ошибок не выдает. Json мой грузит, но маркеров нет. Json с песочницы отрисовывает на ура маркеры.

 

Код в файле json:

{"type":"FeatureCollection","features":[{"type":"Feature","id":0,"geometry":{"type":"Point","coordinates":[37.579439,55.880071]},"properties":{"balloonContent":"","clusterCaption":"","hintContent":"Россия, Москва, ул. Инженерная, 16"}}]}

Файл генерирую с помощью php.
Залил свой json на яндекс диск 

 

В чем проблема может быть?

 

Имею следующий код:

ymaps.ready(initMap);
var myMap, objectManager;

function initMap(){
  myMap = new ymaps.Map("map", {
    center: [55.76, 37.64],
    zoom: 7
  });

  objectManager = new ymaps.ObjectManager({
  // Использовать кластеризацию.
    clusterize: false
  });

  objectManager.objects.options.set('preset', 'islands#greenDotIcon');
  myMap.geoObjects.add(objectManager);

  jQuery.getJSON('dataymap.json', function (json) {
    objectManager.add(json);
  });
}
10 комментариев
API 2.1,JSON,ObjectManager
как брать иконку кластера из JSON?
pmikle3
12 августа 2015, 17:39

Добрый день!

Согласно примеру из песочницы, здесь

1) создается "пустая" коллекция

2) "пустая" коллекция добавляется на карту

3) в коллекцию добавляются метки из JSON массива (они автоматически отображаются на карте)

Я хочу динамически загружать коллекции меток на карту с разными иконками меток и кластеров.

Я разобрался как задать иконки меток в JSON.

Можно ли в JSON указывать иконку кластера?

Я так понимаю, что в примере JSON содержит набор меток, а мне нужно чтобы там была информация о кластеризации.

2 комментария
кластеризатор,GeoObject,JSON
hintLayout для hintContent
Azat Zagitov
30 июля 2015, 11:00

Добрый день. Помогите пожалуйста.

Необходимо добавить на карту 70+ объектов. Добавляю через objectManager, данные для карты берутся из json-файла. 

Я прописал шаблон для хинта, он работает, если я добавляю одну метку. Но если я передаю описание объектов в json, то не могу применить шаблон. Как нужно написать то? 

 

На карте заместа хинта получаю [object Object]. 

Вот пример из json-файла. 

{

    "type": "FeatureCollection",

    "features": [

        {

          "type": "Feature", 

          "id": 0, 

          "geometry": {

            "type": "Point", 

            "coordinates": [55.831903, 37.411961]

          }, 

          "properties": {

              "hintContent": {

                "a_face": "0",

                "a_name": "Azat",

                "a_sport": "Football",

                "a_city": "Ufa"

              }, 

              "hintLayout": "HintLayout"

          }

        }

    ]

}

10 комментариев
hint,метка,JSON,layout
Заголовок не указан
Алексей
19 марта 2015, 12:52

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

Пробовал ннсколько вариантов вывода, но карта отображается пустой. Использую модуль PieChartClusterer http://clubs.ya.ru/mapsapi/replies.xml?item_no=53340

 

Был вывод точек:

ymaps.ready()
    .done(function (ymaps) {
        var myMap = new ymaps.Map('YMapsID', {
            center: [55.751574, 37.573856],
            zoom: 8
        });

   
            jQuery.getJSON('http://10.150.17.31/ym/data.json', function (json) {
            /** —охраним ссылку на геообъекты на случай, если понадобитс¤ кака¤-либо постобработка.
             * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/GeoQueryResult.xml
             */
            window.geoObjects = ymaps.geoQuery(json);
                window.geoObjects = ymaps.geoQuery(json)
                .addToMap(myMap)
                .applyBoundsToMap(myMap, {
                    checkZoomRange: true
                });
        });                  
    });

Часть кода что бы не загромождать код была убрана.  

В итоге добавил код из примера на гитхабе, и карта грузится пустой.

ymaps.ready()
    .done(function (ymaps) {
        var myMap = new ymaps.Map('YMapsID', {
            center: [55.751574, 37.573856],
            zoom: 8
        });
   
    ymaps.modules.require(['PieChartClusterer'], function (PieChartClusterer) {
        var clusterer = new PieChartClusterer();

        clusterer.add(geoObjects);
        myMap.geoObjects.add(clusterer);
    });
       
            jQuery.getJSON('http://10.150.17.31/ym/data.json', function (json) {
            /** —охраним ссылку на геообъекты на случай, если понадобитс¤ кака¤-либо постобработка.
             * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/GeoQueryResult.xml
             */
            var geoObjects = ymaps.geoQuery(json);
        });               
    });


    Подскажите, что я неправильно делаю?

 

 

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

3 комментария
метка,кластеризатор,JSON,кластер
МЕТКИ, yandex.API & Bootstrap
Антоний Великий
16 марта 2015, 01:24

Доброго времени суток!

Играюсь с метками, балунами и хинтами, а еще подцепил Bootstrap. Короче венегрет и каша.

Суть вопроса. Есть модальное окно (смотрим ниже) написанное с помощью Bootstrap.

Надо сделать так, что бы на клик метки вызывалось данное модальное окно. 

<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
                <h4 class="modal-title" id="myModalLabel">Название модали</h4>
            </div>
            <div class="modal-body">
                ...
</div>
            <div class="modal-footer">
                <button type="button" class="btn btn-default" data-dismiss="modal">Закрыть</button>
                <button type="button" class="btn btn-primary">Сохранить изменения</button>
            </div>
        </div>
    </div>
</div>

Метка написана на JavaScript. Код метки ниже. 

var objectManager = new ymaps.ObjectManager();

    objectManager.objects.options.set('preset', 'islands#greenDotIcon');

    map.geoObjects.add(objectManager);

И еще. Данные для модали лучше бы брать из jSon файла. Ниже примерчик моего, но он настроен для стандартной метки yandex.API. 

 

{
"type": "FeatureCollection",

"features": [

{"type": "Feature", "id": 0, "geometry": {"type": "Point", "coordinates": [
55.751574, 37.573856]},
"properties": {"balloonContent": "Текст_1",
"hintContent": "Текст_2"}},

Заранее спасибо всем тем, кто поможет. Только прошу не кидаться данным ПРИМЕРОМ. Я там ничего не понял да и задачка у меня чуть сложнее будет.

Еще раз спасибо!

 

 

 

2 комментария
метка,API 2.1,Bootstrap,JSON
Загрузка меток через ajax из php
wiki@svrt.ru
18 февраля 2015, 11:07

Загружаю метки методом $.ajax({url: "out_3.php"....

Когда прописывал путь к json-файлу - всё было хорошо.

Сделал в php формирование json для одной метки - тоже получилось, а для двух меток - не получается. Где ошибка?
<?php
$s1='{"type": "Feature", "id":1, "geometry": {"type": "Point", "coordinates": [55, 38]}, "properties": {"balloonContent": "Russia", "clusterCaption": "None", "hintContent": "Russia"}},';
$s2='{"type": "Feature", "id":2, "geometry": {"type": "Point", "coordinates": [57, 48]}, "properties": {"balloonContent": "Russia", "clusterCaption": "None", "hintContent": "Russia"}}';
$s3=$s1.$s2;
echo($s3);
?>

Что не так? Одна выводится, а две нет.

Позже, будет, конечно json_encode, но пока хочу так научиться формировать для ajax массив из нескольких меток.

5 комментариев
PHP,API 2.1,AJAX,JSON
Preset в JSON или как в json грузить разные иконки для меток (РЕШЕНО)
zakus-13
16 февраля 2015, 14:31

Доброго дня.
Имеется БД с разными типами меток. Простые и Сложные. Сложные имеют метку отличную от Простых.

Как в JSON передавать пресет и его использовать для вывода разных меток.

Пример JS

 

ymaps.option.presetStorage.add('prostaya#icon', {iconImageClipRect: [[0,0], [29, 53]], iconImageHref:'/images/icons/allicons.png', iconImageSize: [29, 53], iconLayout: 'default#image'});


        objectManager.clusters.options.set('preset', 'islands#greenClusterIcons');
        myMap.geoObjects.add(objectManager);

        $.ajax({
            url: "/data.json"
        }).done(function(data) {
            objectManager.add(data);
        });   

 

Пример JSON

{
    "type": "FeatureCollection",
    "features": [
        {"type": "Feature", "id": 0, "geometry": {"type": "Point", "coordinates": [55.831903, 37.411961]}, "properties": {"balloonContent": "Содержимое балуна", "clusterCaption": "Еще одна метка", "hintContent": "Текст подсказки"}, "preset": "prostaya#icon"},
        {"type": "Feature", "id": 1, "geometry": {"type": "Point", "coordinates": [55.763338, 37.565466]}, "properties": {"balloonContent": "Содержимое балуна", "clusterCaption": "Еще одна метка", "hintContent": "Текст подсказки"}, "preset": "slojnaya#icon"}]
}

В выводе имеются дефолтные метки (синие) по пресету не пошла разборка.

Буду признателен за статью с пояснением или подробный ответ.

2 комментария
метка,кластеризатор,менеджер объектов,API 2.1,JSON
Вывод блока "Загрузка данных" до полной загрузки объектов на карте v.2.1
4@п@еFF $ер}|{
3 февраля 2015, 07:27

Всем добрый день. Ищется решение такого вопроса.

Данные на карту выводятся через json. Как реализовать показ блока "Загрузка данных" до полной загрузки всех объектов на карте, после чего блок "Загрузка данных" убрать.

8 комментариев
PHP,API 2.1,JSON
Кластеризация в ObjectManager не из файла json
wiki@svrt.ru
25 января 2015, 16:07

Я знаю как загрузить метки в кластеры из файла json.

А как загрузить в кластеры не из файла json, а например из базы?

Читаю метки из базы так:

                for (i = 0; i < json.markers.length; i++) {
                    var myPlacemark = new ymaps.Placemark([json.markers[i].lat,json.markers[i].lon], {
                    iconContent: json.markers[i].icontext,
                    hintContent: json.markers[i].hinttext,
                    balloonContentBody: '<a href="#" class="btn btn-warning">удалить метку</a>'
                    }, {
                    preset: json.markers[i].styleplacemark                   
                });
                myMap.geoObjects.add(myPlacemark);
И как их на этом этапе направить в кластеры?

7 комментариев
кластеризатор,менеджер объектов,API 2.1,JSON
PolyLine из массива не формируется
Удалённый пользователь
29 декабря 2014, 12:02

Отказывается создавать PolyLine  из массива координат. Если координаты прописать напряму в свойство объектов, работает.

Если через массив точек(new geopoint), массив стороковый - не создаёт. Вроде корректный же массив?

 

var PointRoute = "[55.9193,37.3979],[55.9195,37.3976],[55.9197,37.3972],[55.9199,37.3968],[55.9199,37.3967],[55.9199,37.3966],[55.9199,37.3964],[55.9199,37.3963],[55.9199,37.3962],[55.9199,37.3961],[55.9199,37.396],[55.9199,37.3959],[55.9199,37.3958],[55.92,37.3958],[55.92,37.3957],[55.92,37.3956],[55.92,37.3955],[55.9199,37.3947],[55.9199,37.3946],[55.92,37.3945],[55.9201,37.3944],[55.9202,37.3943],[55.9203,37.3942],[55.9205,37.3941],[55.9208,37.3939],[55.9211,37.3937],[55.9213,37.3936],[55.9214,37.3935],[55.9214,37.3934],[55.9214,37.3933],[55.9214,37.3932],[55.9215,37.3931],[55.9214,37.393],[55.9214,37.3929],[55.9212,37.3926],[55.9209,37.3921]"

function NewRoute(PointRoute)

{

RealRoutePrint = new ymaps.Polyline([PointRoute] ,{hintContent: "Ломаная линия"},

            {

             strokeColor: "#0000FF",

             strokeWidth: 4,

             strokeOpacity: 0.8

            });

myMap.geoObjects.add(RealRoutePrint);

}

NewRoute(PointRoute)

6 комментариев
API 2.1,координаты,JSON,ломаная
Карта для крупной сети магазина
Павел Мариев
16 октября 2014, 21:56

Добрый вечер.

Сначала опишу поставленную цель, затем уже сам вопрос, пожалуйста прочтите

Стоти цель создание карты России с обозначением всех точек продаж одного крупного производителя.

В среднем в каждом городе по 1-2 точки, в Москве сеть гораздно обширней. около 20-30 точек.

Балуны имеет в оформлении адрес, название и ссылку в подвале на страницу соответствующей точки на нашем сайте

По возможности реализация с собственным оформлением точек.

Теперь уже 2 вопроса:

1. технология хранения набора этих самых точек

а. json или xml файл с кластеризацией

b. Object Manager

c. хранение в скрипте, пример тут: view-source:http://tula.spravochnikov.ru/groups/pilomaterialy строка 124 и далее)

2. Точки на картах могу брать только из коллекции http://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/option.presetStorage.xml#methods-summary или все таки возможно задание своего изображения?

 

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

Заранее спасибо.

P.S. Возможно есть что-то лучше, с удовольствием рассмотрю любой вариант, главное чтобы это работало. 

 

5 комментариев
метка,API 2.1,geoXml,JSON,стили
Задержка в отображении точки на карте
Александр Мартынов
10 октября 2014, 13:55

Здравствуйте!

В ходе освоения технологии LoadingObjectManager я столкнулся с проблемой задержки в отображении точки на Яндекс.Карте. Вот работающий пример - http://snsd.ru/node/1935. Единственная точка появляется на карте с задержкой аж в 30 секунд, хотя судя по debug-информации jsonp-файл с тайлом успешно загружается практически сразу. Помогите, пожалуйста, разобраться в чем дело.

5 комментариев
LoadingObjectManager,JSON
Передача координат по json
unifot2020
10 октября 2014, 06:27

Доброе время суток! В базе данных есть объекты с соответствующими им координатами. Для передачи координат из php в js код карты использую на стороне php: $rows = json_encode($location); а на стороне js карты var json = JSON.parse('<?php echo $rows ?>'); и делее применяю к placemark: var placemark = new ymaps.Placemark(json, {...    Но точка появляется на западном побережье Африки(а не в Красноярске).  alert(json) показывает, что координаты правильные. В чем тогда ошибка? 

1 комментарий
API 2.1,координаты,JSON,geoQuery
Не выводятся кластеры
Ilia Konditerov
12 марта 2014, 16:19

Подскажите, столкнулся с проблемой, не выводятся данные из json файла

карта http://utata.ru/m/index2.html

файл http://utata.ru/m/points.txt

Что-то делаю не так, а что - не могу понять.

2 комментария
кластеризатор,API 2.0,JSON
Отображение точек на Яндекс картах 2.0 и 2.1 получая данные через json и объединяя в кластер
RWC
2 февраля 2014, 07:41

Здравствуйте!

Написал статью на тему: Отображение точек на Яндекс картах 2.0 и 2.1 получая данные через json и объединяя в кластер

Думаю будет полезна начинающим или более-менее опытным разработчикам.

Статья с кодом и картинками: Отображение точек на Яндекс картах 2.0 и 2.1b

Жду конструктивную критику, если будет)

2 комментария
статьи пользователей,кластеризатор,API 2.0,API 2.1,JSON
Помогите с выбором тактики использования Яндекс.Карт
Алексей Новоселов
29 сентября 2013, 00:56

Добрый день.

У агентства недвижимости есть порядка 150 объектов, которые можно поделить на след. группы:

  • Аренда квартир, домов, офисов
  • Продажа городской недвижимости - квартиры, офисы
  • Продажа загородной недвижимости - дома, участки


Соответственно, хотелось бы получить от вас - указания, как оптимально это все отобразить на сайте компании.

Думаю это будет выглядеть след. оброазом - на странице располагаю 3 радиокнопки - Аренда недвижимости, Продажа городской недвижимоси, Продажа загородной недвижимости.

Пользователь выбирает соответствующую радио и карта перерисовывается показывая объекты из нужной категории.

Соотвестственно у меня следующие вопросы:

1) В каком файле хранить информацию об объектах - структура предполагается следующая - группа, координаты, краткое название, ссылка на страницу объекта на сайте, чтобы извекать оттуда информацию, чтобы можно было из него считать и передать в API Яндекс.Карт. - XLS, txt?

2) Подойдет ли для этой задачи YMapsML 1.x?

3 комментария
JSON,YMapsML