Клуб API Карт

октябрь 2014
Быстрая смена предустановленных параметров отображения коллекции объектов
Noita
1 октября 2014, 10:48

Я делаю карту со множеством объектов, объединённых в коллекции. Скажем, коллекция прудов, коллекция лесов, коллекция троп. В зависимости от масштаба карты мне нужно менять параметры отображения, например, не показывать тропы или заменить у лесов фон с заливки цветом на тайл.

Есть ли у коллекций механизм комплексного хранения параметров отображения? Этакий "вью".

Или нужно просто хранить параметры в виде вложенных массивов у себя в переменной и в циклах проходиться по значениям?

3 комментария
API 2.1,коллекции,стили
Получение результатов в JSON при MultiGeocoder в Node.js
Alexander Gorlov
1 октября 2014, 12:13

Приветствую.

 

Основная задача - сохранить результаты геопоиска в БД.

Результаты приходят в виде объектов, даже если указано json: true. 

Реализовал через сериализацию-десериализацию в json, но хочется узнать вывод в json изначально не работает или это я неверно настроил параметры?

3 комментария
nodejs,геокодирование
Пустой балун кластера
remayeer
1 октября 2014, 12:29

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

 

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

Есть карта представительств ( всего их на данный момент 4 штуки ), необходимо объединять объекты в кластеры по городам, а при клике на объект показывать балун. Сейчас это выглядит так: http://cross-wheel.rmayer.ru/#cw/wheretobuy . Проблема в том, что если я выставляю "minClusterSize: 1", то по какой-то причине балун выходит пустым ( точнее - информация из кластера не заносится в балун ). Если увеличить minClusterSize до двух, то все работает верно.


Как это исправить?

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

8 комментариев
кластеризатор,API 2.1
Как искать по форуму?
samsoldatenko
1 октября 2014, 14:42

Как поискать вхождение например hideIconOnBalloonOpen в этом форуме?

2 комментария
Можно ли как-то заставить разные кластеры не заползать друг под друга?
samsoldatenko
1 октября 2014, 14:54

Пытаюсь показать на карте метки двух цветов.

Нужно чтобы они объединялись в кластеры своего цвета.

http://jsfiddle.net/7kLsm1h2/

Кластеры заползают друг под друга :(

1 комментарий
кластеризатор,API 2.1
Выгрузка множества адресов на Яндекс Карты
Drbach
1 октября 2014, 15:17

Добрый день! Никак не могу разобраться: как мне выгрузить порядка 2000 адресов на сайт - какой формат файла должен быть для выгрузки, куда потом это "заливать"?

Это адреса аптек. При щелчке на метку должен высвечиваться адрес, телефон, график работы.Может есть какая-то доступная инструкция для чайников, или готовая программа для конвертации данных excel в нужный формат для выгрузки?

Пожалуйста, очень нужна помощь!!!

П.С. И т.к. адресов очень много, не повлияет ли это на скорость?

1 комментарий
метка,API 2.1,YMapsML
Пара вопросов по роутингу
calcdata
1 октября 2014, 16:17

Взял пример из песочницы, немного поменял:

 

var    multiRoute = null,

        aDotPosition = [55.750263, 37.880303],

        showDirection = function(id) {
            var aStartPosition = [
                  [55.752103, 37.859575], //
                  [55.744938, 37.864210]  //
                ],
                aStartLen = aStartPosition.length,
                aCurPos = aStartPosition[id % aStartLen];

            if(multiRoute === null) {
                multiRoute = new ymaps.multiRouter.MultiRoute({
                    referencePoints: [
                        aCurPos,
                        aDotPosition
                    ],
                    routingMode: 'masstransit',
                    params: {
                        results: 1
                    }/* ,
                    wayPointvisible: false */

                });
            }
           
            multiRoute.model.setParams({
                referencePoints: [
                    aCurPos,
                    aDotPosition
                ],
            });
        };

    ymaps.ready(init);
    var myMap;

    function init () {
        myMap = new ymaps.Map(

...
        );
...
        showDirection(1);
        myMap.geoObjects.add(multiRoute);
    }

  

Вопросы такие:

- когда я вызываю функцию showDirection(0) из кода при реакции на событие на страничке, то маршрут не перерисовывается, хотя данные в него передаются другие, а в песочнице перерисовываются ( там меняется между авто и общественным транспортом ). Что мне нужно сделать, чтобы маршрут перерисовался?

- какой параметр в new ymaps.multiRouter.MultiRoute нужно указать, чтобы не рисовались начальные и конечные точки?

- можно ли получить в читабельном виде вариант движения, как на сайте яндекс карт ( сколько пешком, какой автобус, какие остановки  )?

 

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

 

18 комментариев
маршрутизация,API 2.1
StaticAPI -- не отображается метка
foo42
1 октября 2014, 17:14

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

А вот странно -- метка не отображается на карте:

http://static-maps.yandex.ru/1.x/?l=map&ll=30.255254,59.989385&size=435,250&pt=30.325871,59.935633,pm2rdm

 

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

Вот например если заказать не прямоугольную картинку, а квадратную -- то метка видна:

http://static-maps.yandex.ru/1.x/?l=map&ll=30.255254,59.989385&size=435,435&pt=30.325871,59.935633,pm2rdm

 

Можете сделать автоподбор масштаба для таких случаев? Вернее, доработать уже имеющийся механизм, вот этот:

"Если параметр  spn не задан и, при этом, явно не указан уровень масштабирования, то Static API попытается установить пропущенные параметры автоматически."

4 комментария
метка,Static API
Запоминание координат центра и масштаба карты
strekoza.aksania
2 октября 2014, 12:41

А как-то можно получать текущие параметры центра и масштаба карты после ее перемещения и масштабирования? Чтобы запоминать их (например в cookies) и после повторного открытия сайта клиенту показывать тот регион и в том масштабе, как у него было с прошлог раза.

2 комментария
html5,координаты,API 2.0
Переключение 2.1
a.chebotareov
2 октября 2014, 17:26

Мы переключили api-maps.yandex.ru/2.1 на версию API 2.1.16. Если вы хотите продолжить использование предыдущей версии, указывайте api-maps.yandex.ru/2.1.15

Пожалуйста, прочтите статью о системе версионирования API.

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

Нет комментариев
обновление,API 2.1,новости
Геолокация и метки
astrapressa
2 октября 2014, 21:15

Добрый день! 

Что я хочу? 1) При заходе пользователя на мой сайт, Яндекс спрашивал его: "Разрешите использовать ваши геоданные". 

2) Пользователь нажимал"Да"

3) Открывалась карта где пользователь был отмечен на ней и все метки, которые я добавлял.

---------------------

Я взял готовый код из песочницы: Местоположение => Создание карты с местоположением пользователя => Всё вместе.

Все идет по плану ( 1-2 пункту).

Но потом открываеться карта и на ней пусто..

Отсюда вопрос: Как добавить свои метки на эту карту?

----------------------

Спасибо! 

7 комментариев
метка,геолокация,API 2.1
Не отображается схема проезда на маленьких экранах
bismark03
3 октября 2014, 06:17

autovolt03.ru

Карту поставил без проблем. Видна и карта и схема проезда. Но есть проблема! На смартфонах с диаганалью экрана менее 4,5 дюймов не отображается схема проезда и сама точка на карте. Хотя карта сама при этом работает - двигается в стороны, увеличивается, уменьшается.

Решение проблемы нигде не смог найти. Подскажите пожалуйста что делать?

4 комментария
android
Виснет карта в браузерах Opera и Mozilla
greml1nes
3 октября 2014, 14:39

Добрый день, имеем карту http://utata.ru/m/index3.html с количеством меток ~5тыс, кластеризатор, файл в csv, проблема: в опере и мозилле тупо виснет карта (последнии версии). При использовании 1к меток - всё работает более менее стабильно. Подскажите варианты решения этой проблемы.

P.S. Что еще больше удивило - IE11 работает с картой лучше и быстрее всех.

Файл csv с 1к меток: 222.csv  в той же директории.

4 комментария
метка,кластеризатор,API 2.1,Opera,Mozilla
Fancybox при клике на метку
imax57
3 октября 2014, 15:03

Как реализовать открытие через Fancybox картинки, iframe при клике на метку на карте?

 

Сейчас у меня на это событие прикручен alert стандартный:

 

myMap.geoObjects.add(myPlacemark);

myPlacemark.events
.add('mouseenter', function (e) {
// Ссылку на объект, вызвавший событие,
// можно получить из поля 'target'.
e.get('target').options.set('preset', 'islands#greenIcon');
})
.add('mouseleave', function (e) {
e.get('target').options.unset('preset');
})
.add('click', function (e) {
alert("Щелк!");
})
;

 

 

Блок кода по fancybox:

 

    <!--
        Подключаем скрипт Fancybox
    -->    
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
    <script>
        !window.jQuery && document.write('<script src="./fancybox/jquery-1.4.3.min.js"><\/script>');
    </script>
    <script type="text/javascript" src="./fancybox/jquery.mousewheel-3.0.4.pack.js"></script>
    <script type="text/javascript" src="./fancybox/jquery.fancybox-1.3.4.pack.js"></script>
    <link rel="stylesheet" type="text/css" href="./fancybox/jquery.fancybox-1.3.4.css" media="screen" />
    <script type="text/javascript">
        $(document).ready(function() {
        
            $("a[rel=example_group]").fancybox({
                'transitionIn'        : 'none',
                'transitionOut'        : 'none',
                'titlePosition'     : 'over',
                'titleFormat'        : function(title, currentArray, currentIndex, currentOpts) {
                    return '<span id="fancybox-title-over">Image ' + (currentIndex + 1) + ' / ' + currentArray.length + (title.length ? ' &nbsp; ' + title : '') + '</span>';
                }
            });

            /*
            *   Examples - various
            */

            $("#various1").fancybox({
                'width'                : '95%',
                'height'            : '95%',
                'autoScale'            : true,
                'transitionIn'        : 'elastic',
                'transitionOut'        : 'elastic',
                'type'                : 'iframe',
                'titleShow'         : true,
                'titlePosition'     : 'outside',
                'overlayColor'        : '#000',
                'overlayOpacity'    : 0.6
            });
        });
    </script>
Если на самой странице использую, то fancybox по ссылке работает. Если на карте в содержимое балуна эту же ссылку запихиваю, то открывается без эффекта fancybox.

 

 

3 комментария
API 2.1,FancyBox
Проблемы с Яндекс-картами при запуске на iPhone 6 Plus
yurisinkin
3 октября 2014, 15:34

Проблемы с Яндекс-картами при запуске на iPhone 6 Plus. 

Взяли пример от самого яндекса (https://github.com/yandexmobile/yandexmapkit-ios), вставили Launch images для iPhone6/iPhone 6 Plus и собрали от iOS 8 SDK. После запуска приложения при выборе любого пункта (при открытии карты) - крешится.

 

Писали на github - ответа не было. Больше контактов не нашли - решили обраться сюда -  на форум по API Яндекс Карт  

Кто нибудь уже сталкивался с подобной проблемой? 

 

 

* thread #3: tid = 0x5f455c, 0x04db9952 libsystem_kernel.dylib`__pthread_kill + 10, queue = 'NSOperationQueue 0x7e827c40 :: NSOperation 0x7e800a80', stop reason = signal SIGABRT

    frame #0: 0x04db9952 libsystem_kernel.dylib`__pthread_kill + 10

    frame #1: 0x04df8167 libsystem_pthread.dylib`pthread_kill + 101

    frame #2: 0x04b63a5a libsystem_sim_c.dylib`abort + 156

    frame #3: 0x04b2cb89 libsystem_sim_c.dylib`__assert_rtn + 399

  * frame #4: 0x004259ea RussianPost`DiskReadRequest<YMKDiskTileSource>::main(this=0x00000283) + 1504 at DiskReadRequest.h:197

    frame #5: 0x00425382 RussianPost`-[YMKAsyncPerformer performReadRequest:](self=0x7e81a060, _cmd=0x0055f2b8, requestPtrValue=0x7e819fa0) + 76 at YMKAsyncPerformer.mm:35

    frame #6: 0x03bc2771 libobjc.A.dylib`-[NSObject performSelector:withObject:] + 70

    frame #7: 0x01fb2b70 Foundation`__NSThreadPerformPerform + 330

    frame #8: 0x03e467bf CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 15

    frame #9: 0x03e3c2cd CoreFoundation`__CFRunLoopDoSources0 + 253

    frame #10: 0x03e3b828 CoreFoundation`__CFRunLoopRun + 952

    frame #11: 0x03e3b1ab CoreFoundation`CFRunLoopRunSpecific + 443

    frame #12: 0x03e3afdb CoreFoundation`CFRunLoopRunInMode + 123

    frame #13: 0x01fb79e8 Foundation`-[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 309

    frame #14: 0x02000cbf Foundation`-[NSRunLoop(NSRunLoop) runUntilDate:] + 88

    frame #15: 0x004ad72c RussianPost`-[YFHTTPLoadingOperation main](self=<unavailable>, _cmd=0x0f29b0de) + 316 at YFHTTPLoadingOperation.m:54

    frame #16: 0x01f53247 Foundation`-[__NSOperationInternal _start:] + 700

    frame #17: 0x01f52f79 Foundation`-[NSOperation start] + 83

    frame #18: 0x01f52dc3 Foundation`__NSOQSchedule_f + 237

    frame #19: 0x04a8de1f libdispatch.dylib`_dispatch_client_callout + 14

    frame #20: 0x04a73bb5 libdispatch.dylib`_dispatch_queue_drain + 1476

    frame #21: 0x04a7347d libdispatch.dylib`_dispatch_queue_invoke + 212

    frame #22: 0x04a7607c libdispatch.dylib`_dispatch_root_queue_drain + 473

    frame #23: 0x04a7788b libdispatch.dylib`_dispatch_worker_thread2 + 45

    frame #24: 0x04df8dab libsystem_pthread.dylib`_pthread_wqthread + 336

    frame #25: 0x04dfccce libsystem_pthread.dylib`start_wqthread + 30

 

 

1 комментарий
iphone,iOS,MapKit
Не работает простой пример с кнопкой без перехода в состояние "нажата"
Noita
3 октября 2014, 15:55

На вот этой странице документации

http://api.yandex.ru/maps/doc/jsapi/2.0/ref/reference/control.Button.xml

приводится простой пример использования опции selectOnClick


var button = new ymaps.control.Button({
         data: {
             // Зададим иконку для кнопки
             image: 'images/button.jpg',
             // Текст на кнопке.
             content: 'Сохранить',
             // Текст всплывающей подсказки.
             title: 'Нажмите для сохранения маршрута'
         }
    }, {
        // Зададим опции для кнопки.
        selectOnClick: false
    });
map.controls.add(button, {top: 5, right: 5});

К сожалению, кнопка, хотя и создаётся, при щелчке переходит в состояние "нажата".

5 комментариев
кнопка,элементы управления,API 2.0,контролы
Новые панорамы ВДНХ
a.chebotareov
3 октября 2014, 16:35

Совершите виртуальную прогулку по ВДНХ вместе с Яндекс.Картами. Сегодня стали доступны панорамы ВДНХ. Их протяженность составляет около 36 км, а это почти равно протяженности Москвы в пределах МКАД с севера на юг. Всего было сделано 8 000 фотографий, из которых получилось 2000 панорам. Благодаря новым техническим решениям качество панорам ВДНХ и всех вновь отснятых теперь в восемь раз выше.

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

Нет комментариев
панорамы,новости,обновления карт
Maps API для корпоративных пользователей
the.eremins
3 октября 2014, 16:48

Не нашел в документации и лицензионных соглашениях - есть ли какая либо возможность (пусть даже платная) использовать Yandex Maps API в платных проектах? Если нет, то подскажите альтернативы, пожалуйста.

1 комментарий
пользовательское соглашение
Как отключить мобильный вид балуна и вернуться к обычному?
meekman
4 октября 2014, 16:10

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

2 комментария
API 2.1,балун
Как сделать код чтобы пробки отображались сразу?
olshakina
4 октября 2014, 16:17

Есать такой код 

 

 

<script src="//api-maps.yandex.ru/2.0/?load=package.standard,package.traffic&amp;lang=ru-RU" type="text/javascript">

//<![CDATA[

 

//]]>

</script>

<script type="text/javascript">

//<![CDATA[

ymaps.ready(init);

 

function init () {

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

            center: [56.239019, 43.461268],

            zoom: 14

        });

 

    // Для добавления элемента управления на карту

    // используется поле map.controls.

    // Это поле содержит ссылку на экземпляр класса map.control.Manager.

    

    // Добавление элемента в коллекцию производится

    // с помощью метода add.

 

    // В метод add можно передать строковый идентификатор

    // элемента управления и его параметры.

    myMap.controls

        // Кнопка изменения масштаба.

        .add('zoomControl', { left: 5, top: 5 })

        // Список типов карты

        .add('typeSelector')

        // Стандартный набор кнопок

        .add('mapTools', { left: 35, top: 5 });

 

    // Также в метод add можно передать экземпляр класса элемента управления.

    // Например, панель управления пробками.

    var trafficControl = new ymaps.control.TrafficControl();

    myMap.controls

        .add(trafficControl)

        // В конструкторе элемента управления можно задавать расширенные

        // параметры, например, тип карты в обзорной карте.

        .add(new ymaps.control.MiniMap({

            type: 'yandex#publicMap'

        }));

    

    /*

    // Удаление элементов управления производится через метод remove.

    myMap.controls

        .remove(trafficControl)

        .remove('mapTools');

    */

}

//]]>

</script>

<div id="map" style="width:640px; height:600px">&nbsp;</div>

 

 

Как сделать чтобы сразу отображались пробки? 

2 комментария
элементы управления,API 2.0,контролы,пробки