Клуб API Карт

ноябрь 2013
Если в кластере только одна точка, то карта не отображается
belov.openyoga
1 ноября 2013, 10:50

Если в кластере только одна точка, то пишет: "Для этого участка местности нет данных". При этом, если его отдалять, то всё хорошо :)

Подскажите пожалуйста, как исправить ошибку ?

 

Эксперементирую с примером: http://api.yandex.ru/maps/jsbox/clusterer_create

Всё тоже самое, но только с первой точкой выложено тут: http://dev.vlublen.com/test/ymap.html

 

2 комментария
Вопрос по расчету километража отдельных участков дороги
clark11
1 ноября 2013, 11:51

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

Лариса.

10 комментариев
Обратное геокодирование
s.dreval
1 ноября 2013, 11:59

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

http://geocode-maps.yandex.ru/1.x/?geocode=E134.854,S25.828 ?

1 комментарий
пользовательское соглашение,геокодирование
Переключение 2.0 и 2.0-stable
tekunova
1 ноября 2013, 13:43
Переключение 2.0 и 2.0-stable

Мы переключили api-maps.yandex.ru/2.0 на версию API 2.0.34. Если вы хотите продолжить использование предыдущей версии, указывайте api-maps.yandex.ru/2.0.33. Также мы переключили api-maps.yandex.ru/2.0-stable на версию API 2.0.33.

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

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

Нет комментариев
обновление,API 2.0
Построение маршрута от местоположения пользователя до указанной точки
tekunova
1 ноября 2013, 17:57
Построение маршрута от местоположения пользователя до указанной точки

Продолжаем серию примеров с геолокацией. Сегодня определяем местоположение пользователя и строим ему маршрут до нашего офиса.

Геолокация+маршрут

Посмотреть пример в новом окне.

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

Этот пример использует версию 2.0 JS API. Другие примеры использования геолокации для версии 2.0 можно посмотреть в Песочнице на сайте API. Также рекомендуем вам обратить внимание на новую бета-версию 2.1. В ней мы значительно улучшили геолокацию. Примеры кода для API 2.1 уже сейчас можно изучить в Песочнице.

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

Нет комментариев
API 2.0,маршрутизация,геолокация,примеры
индивидуальные иконки для объектов из ymapsml
student975
2 ноября 2013, 03:08

В ymapml элементам коллекции точек привешиваются properties, которые исользуются в шаблоне для балуна, а также я хочу использовать одно из свойств для назначения иконки конкретной метке. Итак, объекты из xml загружены, добавлены к карте, и я пытаюсь изменить иконку метки (это в then):

 

res.mapState.applyToMap(myMap);
myMap.geoObjects.add(res.geoObjects);
myMap.geoObjects.each(function (arr) {
    arr.each(function (o) {
        o.options.set('preset',
            'twirl#redStretchyIcon'
        );
    });
});

 

Всё замечательно, иконка меняется (и также проверил, что properties из xml передались в свойства объекта карты). Но, увы, клик по меткам теперь не открывает балун со старательно приготовленным содержанием. Без  o.options.set('preset', 'twirl#redStretchyIcon') балун работает как надо, но иконки не те...

Где засада?

Добавление. Собственно, засада в том, что опция 'preset' ранее ссылалась на xml, а теперь на стандартное имя, то есть понятие preset включает с себя очень полный set , а именно, не только внешний вид, но и содержание. Что не очень понятно, так как естветсвнно было бы как-то разделить данные и вид.

Таким образом, я делал, конечно, неправильно. А как правильно?

Добавление 2. Нашёл путь, как обмануть, природу  Но всё же хочется знать, какой путь легальный-официальный.

 

myMap.geoObjects.each(function (arr) {
    arr.each(function (o) {
        var content = o.options
            .get(
                'balloonContentBodyLayout'
        );
        o.options.set('preset',
            'twirl#redStretchyIcon'
        );
        o.options.set(
            'balloonContentBodyLayout',
            content);
    });
});

 

3 комментария
метка,стили,API 2.0,балун,YMapsML
И всё таки это фича
cycler
2 ноября 2013, 05:52

Вы читаете продолжение вот этого поста

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

А теперь, вуаля, решение в одну строку - body {overflow:hidden;}

Я давно приметил особенную обработку скроллов в фф - лиса походу не считает скроллы как часть окна. Или наоборот, прибавляет скролл к ширине viewport. Белые полосы остаются именно от скроллов.

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

Вот здесь тестовый пример, когда это архи-важно даже без ресайза - http://kirillaristov.com/testmap.php (панелька ездит туда-сюда)

П.с. Кейс "красивый ресайз" тоже важен. Потому что нормальный юзер использует вот это: закладки, консоли, фулскрин. А всё это приводит к ресайзу.

п.п.с. Насколько дорого получится getComputedStyle, если задать размеры контейнера через css и как часто требуется этот метод?

 

3 комментария
API 2.0,CSS
Как получить координаты метки
GostRacer
2 ноября 2013, 12:29

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

 

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

Для отрисовки актуальных меток хочу сделать хранение их координат в БД, чтобы потом по ним их отрисовывать при загрузке карты

Метка добавляется так

        myPlacemark = new ymaps.Placemark([55.907228, 31.260503], {
            // Чтобы балун и хинт открывались на метке, необходимо задать ей определенные свойства.
            balloonContentHeader: "Балун метки",
            balloonContentBody: "Содержимое <em>балуна</em> метки",
            balloonContentFooter: "Подвал",
            hintContent: "Хинт метки"
        });

 

Вопрос - как получить возвращаемые координаты при постановке метки на карту? Допустим, как их вернуть в php скрипт?

2 комментария
PHP,координаты,API 2.0,AJAX,метка
AJAX, полученные AJAX данные в балун, в балуне ссылка, при клике на ссылку функция
bbshell
2 ноября 2013, 15:44

myMap.balloon.open(coordinate, {content: '<div class="loading">Идет загрузка данных...</div>'});

/Получаем данные GET

 $.get( "/ajax/coordinate.php", { address: address}, function(data){

    myMap.balloon.setData({ content: data })

 })


/ajax/coordinate.php

echo '<div class="balloonHeader">'.$address.'</div>

<div class="balloonBody"></div>

<div class="balloonFooter"><div class="left"><a href="#">Маршрут сюда</a></div><div class="right"><a href="#">Маршрут отсюда</a></div></div>';

Как задать действие нажатия на ссылку.

Данный метод не сработал:

$(".balloonFooter a").click(function(){})

1 комментарий
события,API 2.0,AJAX,балун
getDuration() не работает для YMaps.Route
toxaxxxl
3 ноября 2013, 00:31

 Не выводится продолжительность маршрута. route.getLength() работает нормально, а route.getDuration() - нет.

 

ymaps.route([from, to]).then(function (route) {
    myMap.geoObjects.add(route);
    var l = Math.round(route.getLength() /
        1000);
    var d = route.getDuration();
    alert('Расстояние: ' + l + ' км, ' + d);
});

 

2 комментария
маршрутизация,API 2.0
Локаль и единицы измерения
cycler
3 ноября 2013, 00:52

При выборе локали ?load=package.full&lang=en-US единицы измерения (на масштабной линейке и на рулетке) переключаются на мили. Есть возможность поставить английскую локаль и оставить километры?

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

Почему в английской версии есть такие чудеса - reka, oz., vdkhr, rayon, kray, oblast, o(strov), protoka?

Спасибо.

2 комментария
API 2.0,локализация
Маршруты
kryuckov.1
3 ноября 2013, 17:23

Привет.

Необходимо создать карту, добавив возможность проложить маршрут, машиной или транспортом. как в самих яндекс картах.

1) какие необходимые модули для этого надо подключить, чтобы это реализовать?

2) допустим я это сделал. задача №2 это оставить все метки по направлению маршрута, остальные убрать. как это можно реализовать?

Надеюсь на вашу помощь куда копать.

Спасибо.

5 комментариев
маршрутизация,API 2.0,метка
GeoObject как задать id
GostRacer
3 ноября 2013, 17:31

GeoObject как задать id и получить его?

1 комментарий
метка,API 2.0
Подсветка контура активных областей
newgeneral
3 ноября 2013, 19:04

А можно ли реализовать подсветку контура при наведени мышки на активную область? В документации подобного не нашел.

8 комментариев
активные области,API 2.0
Подготовка тайлов через программу от Яндекса.
mrfanta
3 ноября 2013, 21:39

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

Форсировано можно запустить программу, сейчас указывает максимум 9 масштаб.

Мне нужно больше, качество не важно на масштабы. (важно только то,  что нарезаю с привязкой с координат)

 

Спасибо!

4 комментария
слои
Как получить время движение между набором точек. Связь все между всеми.
boniole
4 ноября 2013, 18:26

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

Входящие данные: массив точок.

Требование: получить "временную таблицу расстояний" (или массив) между набором точек. Как я придумал это сделать: 

 

var options = [
    [39, 40],
    [41, 30],
    [41, 40],
    [39, 30]
];
for(var j = 0, L = options.length; j < L; j++) {
    Reset();
    ymaps.route(options[j], {
        mapStateAutoApply: true,
        avoidTrafficJams: true
    }).then(
        function (router) {
            route = router;
            myMap.geoObjects.add(route);
            //вот тут получаю время допустим можно пихать в массив и тд.
            time = route.getHumanJamsTime();
        },
        function (error) {
            alert('Возникла ошибка: ' + error.message);
        });
};

 

Внимание! Вопрос: есть более гуманный способ узнать время движения между точками или набором точек?

6 комментариев
маршрутизация,Javascript,API 2.0
API - Версия 2.1-beta
bbshell
5 ноября 2013, 09:13

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

1 комментарий
метка,API 2.1,стили
преобразовать точки линейки в ломаную
kriola0901
5 ноября 2013, 13:19

Здравстуйте.Подскажите пожалуйста, если инструментом линейка поставить на карте точки на заданные расстояния,то можно ли как-то преобразовать эти выставленные точки в ломаную?

3 комментария
линейка,координаты,API 2.0,ломаная
распечатка карты
kriola0901
6 ноября 2013, 00:15

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

6 комментариев
печать карты
Ограничить уровни масштабирования для показа активных областей + кеширование спрайтов
Алексей
6 ноября 2013, 00:33

Здравствуйте! Ситуация такая: На карте в масштабе от 1 до 11 отображаются активные области, в масштабе 12 и больше - отображаются метки.
Столкнулись с проблемой: при загрузке сайта, в консоли разработчика видно, как грузятся тайлы 11 масштаба, затем меняем на карте масштаб на 12 - срабатывает функция отображения меток, но слой активных областей пытается загрузить тайлы для 12 масштаба, а у нас такие просто не предусмотрены, в результате чего сервер возвращает ошибку 404.

Внешне проблем нет - 11 масштаб - видны активные области, 12 - видны метки. Но то, что при изменении масштаба скрипт посылает запросы на сервер - не очень хорошо.

Как объяснить скрипту, когда создаем слой активных областей, что он должен работать только в заданном диапазоне масштаба?

 

И второй вопрос (чтобы не начинать отдельную тему):
При просмотре загрузки карты в консоли разработчика видно, что тайлы активных областей и самой карты кешируются браузером и при обновлении страниц грузятся из кеша браузера. А вот файл спрайта, из которого подставляем изображения для меток постоянно загружаются с сервера. Что нужно сделать, чтобы спрайт также кешировался браузером?

7 комментариев
масштаб,API 2.1,активные области