Quantcast
Channel: Клуб API Карт
Viewing all 7380 articles
Browse latest View live

Экспорт точек полигона

$
0
0

Как можно экспортировть все точки полигонов:

https://yandex.ru/maps/?um=constructor%3A-JOw7XplYk6SqGelEOkr86YNtAatzoTC&mode=usermaps&ll=36.690401%2C55.407346&z=8

Требуется для переноса в другое место


Фильтр организаций рядом с объектом

$
0
0

Приветствую друзья!

Хочу сделать у себя на сайте фильтр по организациям рядом с заданным объектом. Пример такого фильтра прикрепил к посту. Пока пользуюсь searchControl'ем, но эта выпадашка инуитивно непонятна людям + input на карте хочу убрать.

Объект получаю из БД.

Подскажите, пожалуйста, примером, либо в какую сторону копать

Секция Address в ответе геокодера

$
0
0

Хотелось бы узнать подробнее о секции Address, которая появилась в ответе геокодера на том же уровне, что и AddressDetails. Документацию, к сожалению, обнаружить не удалось. Может где-то есть?

День открытых данных в Москве

$
0
0

4 марта в Москве состоится День открытых данных (International Open Data Day). Open data day пройдёт в формате лектория, мастер-классов и хакатона. Работа площадки будет разделена на тематические секции: НКО, Медиа, Город, Этика и Бизнес.

В 14:30 на площадке Бизнес расскажем, как визуализировать данные с помощью Конструктора, и поделимся планами на будущее. 

Участие бесплатное, по предварительной регистрации: http://msk.opendataday.ru

Присоединяйтесь! 

Uncaught TypeError: ymaps.Map is not a constructor

$
0
0

Почему-то не грузится яндекс карта. 

Ситуация следующая: 

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

Далее, после того, как блоки добавлены в страницу, запускаю карту вот так: 

var all_coord=document.getElementsByClassName('js-coord-house-complex');

          for(var i=0; i<all_coord.length;i++){
            var id=all_coord[i].getAttribute('id');
            var coord=all_coord[i].value.split(',');
            var nameComplex=all_coord[i].getAttribute('name');

            ymaps.ready(init(id));
            var myMap;

            function init(id){
                myMap = new ymaps.Map("map_filter_"+id, {
                    center: [coord[0],coord[1]],
                    zoom: 15,
                    controls: []
                });

                /*код-код-код*/


            }
          }

Ну то есть я обращаюсь к инпутам, специально положенным, беру у них инфу о координатах и id, по id нахожу нужный блок и гружу в него карту. P.S.  у меня несколько блоков, в которые надо яндекс грузануть. 

И если делать все так, как есть, то выдает ошибку, НО! Если весь этот код обернуть в таймер на 2 секунды, то что-то успевает прогрузится и карта грузится. Но иногда все-равно не успевает. 

 

setTimeout(function(){



          var all_coord=document.getElementsByClassName('js-coord-house-complex');

          for(var i=0; i<all_coord.length;i++){
            var id=all_coord[i].getAttribute('id');
            //тут далее код, который выше писал
          }



},2000);

Как это решить, помогите, пожалуйста!

Печатная версия карты

$
0
0

Добрый день.

Есть карта на странице, эта карта отображается в квадратном контейнере с фиксированными размерами (650рх х 650рх). 
Стоит задача растягивать эту карту на 100% ширины в печатной версии страницы.

При помощи css я растягиваю контейнер в котором находится карта, также я переопределяю фиксированную ширину внутренних контейнеров на 100% (пробовал также 100vw) внутри медиаквериса печати (@media only print). При этом контейнер растягивается, но сама карта остается фикс размера. 
 

Как я понял дело в том, что когда карта инициализируется она берет вычесленные параметры контейнера и отображается исходя из этих параметров, а когда происходит print то тянется только контейнер, а не сама карта т.к. видимо такой размер карты не подгружен, потому что все подгружается на лету при ресайзе и таскании карты, а принт берет статичный слепок отрендеренного хтмл.

Внутри карты я вижу canvas, пробовал растягивать его, но при этом нарушаются пропорции и картра растягивается независимо от маркеров.

Подскажите, пожалуйста, как решить эту задачу.

Геоссылка на вашей странице средствами API Карт. Обзор версии 2.1.48.

$
0
0

На этой неделе мы переключили ссылку на самую свежую версию API 2.1.48. Среди важных нововведений — слой Панорам в переключателе типа карты, обновление стиля интерфейсных элементов и, главное, новый способ инсталляции карты на ваш сайт. 

Геоссылка
Геоссылка позволяет показать дополнительную информацию о географическом объекте прямо в тексте страницы. Достаточно обернуть адрес или название организации в специальные теги. 

<span class="ymaps-geolink">Москва, ул. Крылатские холмы, 26</span>

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

Попробовать, как работает Геоссылка, вы можете в нашей песочнице, а все технические аспекты подробно описаны в Руководстве.

Панорамы внутри карты

Слой панорам стал доступен для выбора в переключателе типа подложки. Теперь вы можете открыть плеер Панорам внутри карты аналогично Яндекс.Картам или реализовать собственную логику показа Панорам.

Если по каким-то причинам вы захотите отключить выбор Панорам в переключателе, вам поможет опция panoramasItemMode

Подробнее о возможностях новых версий читайте в ChangeLog.

Команда разработки API Яндекс.Карт

Как связать объекты в сайдбаре с метками на карте? AngularJs

$
0
0

Привет, обязательно делал рисерч, но не могу придумать логику. 

Есть компонент выводящий объекты у каждого из которых есть координаты. Объекты выводятся в сайдбаре, а справа карта, на нее выводятся эти же объекты в виде координат. Как правильно связать объекты с картой, чтобы по клику на объект в сайдбаре происходило перемещение на метку на карте? на vanilla я это реализовал, пытаюсь перенести на angular и запутался :(

Спасибо!


Программный клик по объекту из ObjectManager

$
0
0

Перед записью объектов в ObjectManager создаю

myManager.objects.events.add(['click'],function(e){
        var obj = e.get('objectId');
        e.get("target").getById(obj).options.set('strokeStyle', '3 2');
       ... ну и та далее...
      });

Тут все работает как надо. Как мне вызвать событие клика по объекту, зная его ID в менеджере, из другого места программы

Заголовок попапа в кластере

$
0
0

Использую версию API 2.1 для создания кластера.        

Проблема в том что в попапе кластера дублируется заголовок из clusterCaption, который по идее должен был быть только для левой части попапа - 

 let placemarkContent = {
                balloonContentBody: '',
                clusterCaption: 'Метка 1',
    };
 let placemark = new ymaps.Placemark([55.831903,37.411961], placemarkContent);
 geoObjects.push(placemark);

Редактирование balloonContentHeader никак не решает проблему. Как можно убрать дублирование заголовка? В версии API 2.0 все было нормально - 

Как импортировать не одну сотню меток на карту

$
0
0

Доброго времени суток. Существует ли сегодня метод импорта меток на карту?

Есть список меток в таком виде: var lnglat152= new YMaps.GeoPoint(26.76303360611201, 54.32073013863826);

Или возможно ли как-то скопировать с другой карты? карта в живом виде тут

Яндекс-карта в айфрейме

$
0
0

Здравствуйте, уважаемые. Помогите разобраться новичку. Мне необходимо, чтобы при нажатии на адрес вылезал вот такой блок с картой. Просто ссылку туда не поместишь, скрипт тоже. Судя по исходнику, там используются какие-то ymaps. Мне необходимо получить вот этот кусок кода. Подскажите, где копать? Документация яндекса ведёт в разные направления, но нужного я не нашёл

Некорректно срабатывают события балуна на кластерах

$
0
0

Почему срабатывает событие при открытие балуна при клике на placemark? Ожидается, что сработает событие только на кластере:

clusterer.events.add('balloonopen', function () {
    console.log('Открылся балун');
});

clusterer.events.add('balloonclose', function () {
    console.log('Закрылся балун');
});

Но вот такой код работает как надо:

clusterer.balloon.events.add('open', function () {
    console.log('Открылся балун');
});

clusterer.balloon.events.add('close', function () {
    console.log('Закрылся балун');
});

Не отображаются метки на карте

$
0
0

Обращаюсь к https://search-maps.yandex.ru/v1/ аяксом, получаю ответ в виде объекта. Но этот объект никак не получается отобразить на уже существующей карте. Карта сначала отображает один маркер с координатами объекта. При клике по ссылкам (школы, дет сады...) должны отображаться (без обновления карты) маркеры этих объектов. Но почему то они не появляются.

var myMap, myCollection;

ymaps.ready(init);

function init ()
{
   myMap = new ymaps.Map("YMapsID", {
                    center: [42.9543,47.5490],
                    zoom: 15
   });

   myCollection = new ymaps.GeoObjectCollection();

   var myPlacemark = new ymaps.Placemark([42.9543,47.5490]);
   //Добавляем метку на карту
   myMap.geoObjects.add(myPlacemark);
}

$(function(){
  $(document).on('click', '#menum a', function() {
     $('#menum a').removeClass("active");

       //     myCollection.removeAll();

     $.getJSON("https://search-maps.yandex.ru/v1/", {
                text: "школы,средняя школа",
                type: "biz",
                lang: "ru_RU",
                ll: "47.5490,42.9543",
                spn: "",
                rspn: 1,
                apikey: "86749498-3ed5-4892-89e1-e5575c59ccc0",
                results: 50
        }, function(json){
                for (i = 0; i < json.features.length; i++) {
                /*  var myPlacemark = new ymaps.Placemark(json.features[i].geometry.coordinates, {},
                    {
                        preset: 'islands#redHomeIcon'
                    });
                    myCollection.add(myPlacemark);*/
                    myMap.geoObjects.add(new ymaps.Placemark(json.features[i].geometry.coordinates));
                }
            //     myMap.geoObjects.add(myCollection);
      });
   });
});

В консоли смотрю, объект возвращается нормально, но метки на карте упорно не появляются. Что делаю не так? Уже двое суток мучаюсь( (

Подскажите что где ошибка

Ошибка инициализации карты в iframe в Firefox

$
0
0

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

В firefox при изпользовании карты в iframe (связано с требованием разных версий js библиотек) возникает следующая ошибка при инициализации карт:
В https://api-maps.yandex.ru/2.1.48/combine.js инициализация переменной CopyrightsLayout проходит с ошибкой

TypeError: utilDomStyle.value(...) is null.

Код, вызывающий ошибку:            

utilDomStyle.patch(this._logoLinkElement, {
                printBackground: utilDomStyle.value(this._logoLinkElement, 'backgroundImage', true)
                    .replace(/^\s*url\(['"]?/, '').replace(/['"]?\)$/, '')
            });

Код инициализации карты:
  

  ymaps.ready(function () {


            axi_widget.geo.axiMap = new ymaps.Map("axi_widget", {
                center: [55.76, 37.64],
                zoom: 10,
                controls: ["zoomControl"]
            }, {
                searchControlNoCentering: true,
                searchControlResults: 1
            });
axi_widget.geo.axiMap.behaviors.disable('scrollZoom');
    });

Ошибка возникает не всегда, если принудительно обновить страницу (по ctrl shift r) то она отсутствует до следующей загрузки страницы. Также ошибка никогда не возникает в chrome.

К сожалению, эта ошибка появляется не всегда, плюс есть явная зависимость от родительского окна, из которого загружается страница (в пустой странице с вызовом iframe ошибка не воспроизводится). Т.к. в Chrome ошибка отсутствует, то думаю что код родительской страницы не влияет на появление ошибки.


Панель администратора для добавление меток

$
0
0

Доброго времени суток! Я посмотрел несколько вариантов реализации обьектов на карте. У нас есть задача - разместить часть филлиалов по стране их будет порядка 1000 + разместить вспомогательные обьекты там их около 3000.

На сколько я понял - все манипуляции с метками будут проходить через добавление кода. 

Есть ли решение с панелью администратора для добавления объектов на карту?

Как пример - человек  реализовал  http://webmap-blog.ru/yandex-maps/spravochnik-na-karte-s-ispolzovaniem-api-yandeks-kart-2-1  подобную задачу

или   https://www.youtube.com/watch?v=qWD9cDd71-4

Неужели панель администратора для установки меток не входит в базовый пакет API Яндекс.Карт 2.1.  ?  Я впервые сталкиваюсь с подобной задачей - размещение обьектов на карту... Вроде есть решения  подобные  instantmaps.ru, но мне не нужно много функционала - только лишь добавление меток + описание филлиала.

Несколько карт на одной странице (API 2.0)

$
0
0

Надо выводить более 1 карты на страницу, использован плагин от яндекса (Mediawiki), но выводится 2 карты, а координата одна и таже, хотя на самом деле передается 2 разных координаты, пример вызова:

{{#yandexmap:38.592063,59.9505|описание1 тут|100|200|15|cdzMB}}

{{#yandexmap:35.792063,54.9505|описание2 тут|100|200|15|cdzMB}}  

Резельтат

<div id="YMapsID0" style="width:100%;height:200px">

<div id="YMapsID1" style="width:100%;height:200px">

Т.е. все должно работать... однако карты полностью одинаковые выводятся.


Страница с примером тут http://travel-list.ru/%D0%A2%D0%B5%D1%81%D1%82

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

Использование Геокодера через js api

$
0
0

Добрый день.

Вопрос в следующем: пытался найти но так и не смог считается ли количество запросов к Геокодеру через js api как например тут в лимит запросов к геокодеру?

Определение распада кластера на отдельные точки

$
0
0

Можно ли как-то определить, что кластер неделим (в конце концов не распадется на отдельные точки, например, один адрес)?

Не могу подружить свой массив координат с картами

$
0
0

Добрый день. 

Вопрос в следующем:

Нужно на карте отобразить адреса которые будут браться из админки. То есть работаю с Коллекцией объектов.

Через json я слепил массив точек. 

ymaps.ready(init);

var items=[];
jQuery.getJSON( url, function( json ) {
	jQuery.each(json.posts, function(key, index) {
		loc = index.custom_fields.map_coords[0];
		items.push(loc)
	})
});

function init() {
	var myMap = new ymaps.Map("map", {
		center: [54.738307, 55.945710],
		zoom: 9
	}),
	addresses = new ymaps.GeoObjectCollection(null, {
		preset: 'islands#yellowIcon'
	})

//вот тут начинается фигня, потому что он не хочет читать значения из массива items

	for (var i = 0, l = items.length; i < l; i++) {
		addresses.add(new ymaps.Placemark(items[i]));
	}

	myMap.geoObjects.add(addresses);
}

Естесственно ничего не получается. Что я делаю не так?

Viewing all 7380 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>