Клуб API Карт

январь 2015
LoadingObjectManager серверная часть с использование MySQL + PHP
losangelescarroll
2 января 2015, 12:53

В базе данных имеется таблица точек с координатами вида 'POINT(X Y)',0

Как составить MySQL-запрос, который извлечёт все записи из этой таблицы с точками, которые входят в область видимости этой карты?

1 комментарий
MySQL,PHP,API 2.1,менеджер объектов
Метка по собственному шаблону: не работает клик.
toptj@toptj.com
3 января 2015, 04:12

Добрый день!

Создаю метку по своему шаблону:

1. Имеется svg файл, который используется в качестве основного изображения метки. 

2. Имеется иконка банка которую надо совместить с основной меткой. Иконок банков около 900.

Что сделал:

1. Создал шаблон:

 

 var bankLayoutClass = ymaps.templateLayoutFactory.createClass('<ymaps class="bankMapPoint type{{properties.branchTypeId}}" ><img class="icon" src="{{properties.bankIconUrl}}" /></ymaps>');
ymaps.layout.storage.add('bank#bankLayoutClass', bankLayoutClass);

  

2. Создаю метку:

 

placemark = new ymaps.Placemark([item.Latitude, item.Longitude], {
    id: item.ComponentId,
    branchTypeId: item.BranchTypeId,
    balloonContentHeader: GetBranchTypeName(item.BranchTypeId)
}, {
    iconLayout: 'bank#bankLayoutClass',
    balloonPanelMaxMapArea: 0,
    openEmptyBalloon: true
});

 

3. Создал CSS:

 

 

.bankMapPoint
{
  display:block;
  position:absolute;
  box-sizing:content-box;
  background-size:35px 50px;
  width:35px;
  height:50px;
  z-index:auto;
  background:url('/content/images/MapPoint.svg') no-repeat no-repeat center center transparent;
}

.bankMapPoint img.icon
{
  position:absolute;
  left:9px;
  top:7px;
}

 

 

Карта вроде создается корректно, но метки, созданные по этому шаблону, не кликаются.

Если, например, использовать встроенный шаблон default#image, то все работает нормально.

Помогите разобраться, подскажите где грабли

работающий пример: http://www.superbanki.ru/banks/sberbank/branches/moskva/

3 комментария
метка,API 2.1
При уменьшении размере окна браузера яндекс карта не уменьшается.
Евгений Олегович
4 января 2015, 09:34

Помоему JS яндекса не правильно определяет размеры для яндекс карты. Писать свой JS крайне не охото. Код ниже. Уже целый день маюсь работать не хочет невкакую.

 

<style type="text/css">

    .table {

        display: table;

    }

 

    .row {

        display: table-row;

    }

 

    .cell {

        display: table-cell;

        border: 1px solid #e1e1e1;

        padding: 6px;

        vertical-align: top;

    }

</style> 

 

 <div class="table">

        <div class="row">

            <div class="cell" style="min-width:400px; max-width:400px; width:400px;"></div>

            <div class="cell" style="border-left: 0px;"> <div id="id_detail_map" style="height: 490px; "></div></div>

        </div>

</div>

 

3 комментария
API 2.1,CSS
Поиск по своим объектам загруженным из xml файла при помощи control.SearchControl
Александр
5 января 2015, 01:40

Данная тема уже поднималась, но для себя ответа так и не смог найти. Пытаюсь сделать аналогично с примером ( Пример от Яндекса - поиск по своим объектам ), но проблема в том что объекты загружаются из xml-файла (xml файл). Не могу определиться даже с алгоритмом решения, толи мне из моих данных такой же массив сформировать и использовать функцию как в примере, толи есть какой то еще способ более правильный. Пожалуйста помогите!

4 комментария
API 2.1,поиск,контролы,YMapsML,коллекция,элементы управления
сохранение координат на yandex-аккаунте и отрисовка их
pavel.kozlovsky@vikisoft.kiev.ua
6 января 2015, 14:12

Добрый день!

Существует ли какая-либо возможность отправить на определенный yandex-аккаунт координаты и владелец аккаунта, зайдя в систему, мог бы увидеть отображение этих координат на карте? 

Задача - треккер нескольких клиентов (мобильных устройств) для одного менеджера с yandex-аккаунтом, который хочет просматривать перемещение по городу всех клиентов на карте. Менеджеру клиенты могут передавать только имя (или id) и две координаты.

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

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

2 комментария
координаты,YMapsML
Отрисовка карты в слое .dialog
timemanager
7 января 2015, 11:27

Добрый день!

Впервые сталкиваюсь с использованием карт, при вставке карты в скрытый слой (.dialog({autoOpen: false}) при его открытии загрузка элементов карт происходит, что видно в отладчике, однако в открытом диалоговом окне ничего не показывается...

Попытался сделать отдельно, без кучи "наворотов", что необходимы на работающем сайте, сделать карту во вначале скрытом диалоговом окне - там всё работает (пример http://ledagregator.ru/map.html)

На сайте, где нужна карта, используются кроме яндекс карт другие инструменты, например, tinyMCE - может что-то мешает картам?

 

Спасибо за подсказку.

23 комментария
API 2.1,jQuery-UI,карта в скрытом контейнере
Ограничение на геокодирование
Дмитрий К.
7 января 2015, 11:55

В документации сказано, что лимит запросов 25000 в сутки. Вопрос, какой код ошибки выдаст сервер после превышения лимита? 

5 комментариев
геокодирование
API Яндекс карты для WordPress
Выгодная Поездка
7 января 2015, 21:57

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

 

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

 

ПОМОГИТЕ ПРОШУ ВАС ПОЖАЛУЙСТА

 

2 комментария
PHP,расчет стоимости доставки,WordPress,модули
RemoteObjectManager, LoadingObjectManager - остановить и очистить, события загрузки данных
remitmaster
11 января 2015, 17:23

 

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

 

Вопрос 1

Стоит задача при смене зумов на карте показывать разные объекты со своими видами меток и тд. Для увеличения производительности и плавного показа меток при смене рабочей области используется RemoteObjectManager, не получается очищать и останавливать. 

LoadingObjectManager.objects - возвращает коллекцию объектов, но этого тоже не достаточно, при применении метода removeAll() удаляются текущие метки, а нужно удалть все и останавливать загрузку при смене зоны видимости и зума. 


upd:

Нашел только вот такой способ очистить и остановить RemoteObjectManager

// очищаем коллекцию

remoteObjManagerCity.objects.removeAll();

// удаляем саму коллекцию 

map.geoObjects.remove(remoteObjManagerCity); 



 

Вопрос 2

Почему не работает указания preset при создании объекта?

 

ymaps.ready(init);

function init () {

    var myMap = new ymaps.Map('map', {center: [55.76, 37.64], zoom: 10 }),

        objectManager = new ymaps.ObjectManager({ ... },

        {

           // не работает

            preset : 'islands#greenDotIcon'    

        });


    // Работает

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

}

 

Вопрос 3

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

если медленные запросы то нужно показывать загрузку в виде "ajax loader" 



Спасибо


 

8 комментариев
Preset,LoadingObjectManager,API 2.1,RemoteObjectManager
Ссылка на метку
os.ar.se
11 января 2015, 23:40

Объекты загружаются на карту с помощью ObjectManager. Можно как-то получить ссылку на объект? Так, чтобы по ссылке можно было попасть на мою карту с нужным объектом по центру. Спасибо.

1 комментарий
Не подгружается картинка для метки и не открывается балун.
Ирина Ринкман
12 января 2015, 11:54

Добрый день! Больше года не занималась с API Yandex, возникла проблема с метками

http://atk71.valuehost.ru/quarry.html

 

не подгружаются мои картинки для меток и не открываются балуны.

Можете подсказать что не так в реализации

 

 

 

function init () {

    // Создание экземпляра карты и его привязка к контейнеру с

    // заданным id ("map").

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

        // При инициализации карты обязательно нужно указать

        // её центр и коэффициент масштабирования.

        center: [54.192927, 37.617725], // Москва

        zoom: 8

    });  

   

   

    /*коллекция меток карьеров*/ 

    var icons = ['http://atk71.valuehost.ru/img/maps/icn-map-grey.png','http://atk71.valuehost.ru/img/maps/icn-map-orange.png','http://atk71.valuehost.ru/img/maps/icn-map-yellow.png'];

    var name = [[]'К-р Мартемьяновский','К-р АНК','К-р Восточные берники'];

    var types = ['песок горный','песок речной','щебень'];

    

    var coords = [

        [54.25, 37.30], [54.26, 38.08], [54.03, 37.66]

    ],

        myCollection = new ymaps.GeoObjectCollection({}, {

          draggable: false // и их можно перемещать

        });

 

    for (var i = 0; i < coords.length; i++) {         

        myCollection.add(new ymaps.Placemark(coords[i]),

            {

                name: name[i],

                type: types[i]

            },

            {    

                // Опции.

                // Необходимо указать данный тип макета.

                iconLayout: 'default#image',

                // Своё изображение иконки метки.

                iconImageHref: icons[i],

                // Размеры метки.

                iconImageSize: [62, 51],

                // Смещение левого верхнего угла иконки относительно

                // её "ножки" (точки привязки).

                iconImageOffset: [-6, -51],

                hasBalloon: true,

                hideIconOnBalloonOpen: true

            }

        );

    }

    

    // Создаем шаблон для отображения контента балуна

    var myBalloonLayout = ymaps.templateLayoutFactory.createClass(

        '<h3>$[properties.name]</h3>' +

        '<p><strong>Тип:</strong> $[properties.type]</p>'

    );

 

    // Помещаем созданный шаблон в хранилище шаблонов. Теперь наш шаблон доступен по ключу 'my#theaterlayout'.

    ymaps.layout.storage.add('my#theaterlayout', myBalloonLayout);

 

    // Задаем наш шаблон для балунов геобъектов коллекции.

    myCollection.options.set({

        balloonContentBodyLayout:'my#theaterlayout',

        // Максимальная ширина балуна в пикселах

        balloonMaxWidth: 300

    });

            

 

    myMap.geoObjects.add(myCollection);

}

 

6 комментариев
Javascript,API 2.1,балун
Не открывается Balloon при использовании тач-насадки на TV
Anatoliy Arkhipov
12 января 2015, 14:23

Здравствуйте. У нас стоит тач-насадка на телевизор, модель samsung cy-td40ldah - http://displaysolutions.samsung.com/products/accessories/345.

При нажатии на метки (Placemark), у которых есть балун (Balloon), балун не открывается. При удержании пальца на значке показывается подпись (хинт, который отображается при наведении мыши). При этом контрол зума (с кнопками +/-) и скроллинг карты путём "таскания" - работает, проблема наблюдается только с метками.

При клике мышкой на этой же машине всё работает. На устройствах с нативным тачем (телефоны, планшеты, ноутбук с тач-экраном и моноблок) - тоже работает отлично.

Проблема наблюдается не только в нашем приложении, но в том числе и здесь https://maps.yandex.ru, если поискать что-нибудь и попытаться нажать на отобразившуюся метку, то балун не откроется.

6 комментариев
Как я могу сам ограничить количество запросов к геокодеру, чтобы не нарваться на бан?
SerenaN
13 января 2015, 11:41

Я могу отключать на своей страничке функцию геокодирования при приближении к бесплатному лимиту, и включать ее на следующий день. Так?

Как я могу узнать текущее состояние счетчика и момент его обнуления, чтобы включать и выключать на сайте функцию геокодирования?

3 комментария
Работа с пользовательской картой
D.Abramov8
13 января 2015, 13:39

Добрый день, dimik!

 

Снова пишу к Вам. Рассчитываю на снисхождение)) 

С наступившими праздниками! Вам успехов и добра! и взлета моего проекта на технологии яндекс.карт)))

 

Прошу вас посмотреть порученный мне сайт - ovgrf.ru, там placemark в районе Кавказа, при нажатии на него появляется баллун с некоторой информацией, ...в которой можетбыть ссылка с переходом к другой (более детальной карте региона) карте...нажмите на "Карта Кавказа" и поймете...мне нужно перезагружать карту и набор объектов.

Прошу Вас дать совет по организации с помощью вашей технологии. 

 

С уважением,

Дмитрий А.

Нет комментариев
Собственный шаблон для кнопки "Панорамы"
dawnreader
13 января 2015, 19:05

Добрый день. Собственно вопрос в заголовке, в песочнице есть пример, но в документации не нашел как этот контрол называется.

4 комментария
панорамы
Не удается кластеризовать импортированные данные из JSON
mdainbox
13 января 2015, 22:36

В JS новичек. Просмотрел множество примеров, различных вариантов кластеризации меток (когда данные в теле JS или используется генератор или используя objectManager). Но свою задачу никак не удается решить. А требуется то ничего - используя API 2.1, geoObjects вывести данные из файла JSON на карту получить метки и кластеризовать. Подскажите пожалуйста, что не правильно в коде http://jsfiddle.net/Dimych/aa7dkfcv/     ??

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

Доброго всем дня. Попробовал выполнить через подключаемый модуль PieChartClusterer. Для чтения файла исп. getJSON. Результат = 0 ( http://jsfiddle.net/Dimych/a73j2uws/ ). Видимо не получаю данные из файла, а может и еще где бяки! Блин... уже голова кругом. Подскажите, плиз, что не правильно делаю??

2 комментария
кластеризатор,API 2.1
Названия точек маршрута
НИКИФОРОВ Дмитрий
14 января 2015, 12:14

Добрый день, при посмотроении маршрута посредством api и указанием координат точек, на карте отображаются две точки (А и Б). В примерах в песочнице указаны адреса, которые очень красиво указваются рядом с точкой. Есть ли возможность указать данную подпись вручную? Так как конечная точка маршрута может быть задана только координатами.

 

Ps

Например как-то так:

wayPointStartName

wayPointFinishName

2 комментария
маршрутизация,API 2.1,метка
Определение типа карты
D.Abramov8
14 января 2015, 15:22

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

 

map.getName(s);

  if s == 'kavkaz#layer' {

map.geoObjects.remove(all_Objects);

         map.geoObjects.add(new_Collection)

    }

 

как можно удалить сразу все объекты из geoObjects ?

 

 

13 комментариев
Javascript,API 2.1
лаг на слайде с яндекс картой
elias.zaytsev
14 января 2015, 15:56

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

 

На странице http://funnyf.bget.ru/ во втором слайде подключаю Яндекс карту следующим образом:

  

<script type="text/javascript" src="http://api-maps.yandex.ru/2.1/?&lang=ru-RU"></script>

<script type="text/javascript">

    ymaps.ready(function(){

        mapexMap = new ymaps.Map("mapexMap", {

            center: [55.7099140948,37.5756615435],

            zoom: 17,

            controls: ['largeMapDefaultSet']

        });

        mapexMap.geoObjects.add(new ymaps.Placemark([55.7098050619,37.5767317202], {"iconContent":"\u041c\u0435\u0441\u0442\u043e \u0432\u0441\u0442\u0440\u0435\u0447\u0438","balloonContentBody":"","balloonContentHeader":"\u041c\u0435\u0441\u0442\u043e \u0432\u0441\u0442\u0440\u0435\u0447\u0438"}, {"preset":"twirl#blueStretchyIcon"}));

    });

</script>

 

После того, как страница загружена, и я делаю скрол либо с помощью мыши, либо по ссылке "Место" из верхнего меню, переход ко второму слайду, где расположена данная карта, происходит не плавно, а с задержками и рывками. Если повторить данное действие на загруженной странице 2-3 раза, то потом переход становится плавным.

 

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

 

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

3 комментария
API 2.1,производительность,загрузка АПИ
Определение вхождения адреса в полигон без создания карты
Jinchuuriky2016
14 января 2015, 20:06

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

Возникла необходимость определить принадлежность адреса некоторому полигону на карте. Набор таких полигонов хранится в 'моих картах', и показывать пользователю зоны нельзя. Соответственно, вариант с  созданием карты и использоваем geoXml.load, geocoder и contains у полигонов отбрасывается, ибо не хочу светить урлом своих карт на клиентскую часть. Вопрос: есть ли 'магическое api', которому я бы передал карту и точку, оно бы все выполнило, вернуло результат, а я бы уже клиенту вернул свои пояснения? (без необходимости грузить карту и точки на стороне клиента).

2 комментария
мои карты,координаты,полигон