Клуб API Карт

декабрь 2016
geoQuery задание своего изображения отметки при определённом синтаксисе
dev@pod-ohranoi.ru
1 декабря 2016, 17:15
var map_markers = [
    {
        type: 'Feature',
        properties: {
            balloonContent: 'ул. Советов 128'
        },
        geometry: {
            type: 'Point',
            coordinates: [44.865707, 38.151729],
        }
    }, {
        type: 'Feature',
        properties: {
            balloonContent: 'ул. Астраханская 46'
        },
        geometry: {
            type: 'Point',

            coordinates: [44.889109, 37.316026]
        }
    }
];
posts = ymaps.geoQuery({
    type: 'FeatureCollection',
    features: map_markers
}).addToMap(myMap);

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

1 комментарий
API Яндекс.Карт версия 2.1.46
Maps API
1 декабря 2016, 21:03

Сегодня мы выпустили новую версию API Яндекс.Карт 2.1.46. Для её подключения используйте адрес: api-maps.yandex.ru/2.1.46/?lang=ru_RU
Также мы переключили на новую версию api-maps.yandex.ru/2.1-dev/?lang=ru_RU и вскоре опубликуем обновленную документацию.

Добавлено:
- Опция 'preventDragUpdate', позволяющая отключить автоматическое перестроение маршрута до окончания перетаскивания путевых точек.
- Блок "Открыть в Яндекс.Картах" передает метки из коллекций.

Изменено:
- Обновлены карточки организаций и топонимов.
- Блок "Открыть в Яндекс.Картах" учитывает видимую область карты при выборе передаваемых объектов.
- При редактировании геометрий промежуточная вершина на ребре находится в видимой области карты.
- Оптимизировали отображение геометрий с самопересечениями. 
- Опция 'yandexMapDisablePoiInteractivity' теперь позволяет включить точки POI в платной версии API.

Исправлено:
- Активная область точек POI на границе тайлов.
- Опция 'routeActiveStrokeStyle' не работала для пешеходных мультимаршрутов.
- Не срабатывала первая установка 'data.image' у элемента управления listBox.
- Вызов startFraming на редакторе полигона с пустой геометрией завершался ошибкой.
- При драге карты одновременно с её программным перемещением мог возникнуть конфликт.
- При добавлении сложного полигона на карту возникали ошибки.
- Карта могла быть спозиционирована неправильно при открытии балуна во время зума.
- Иногда возникали проблемы с драгом в бразуерах Edge, MSIE 10, MSIE 11.
- Появлялась ошибка при удалении карты во время редактирования геометрии.
- Правки редактирования и отображения геометрий.
- Правки верстки.

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

Нет комментариев
API 2.1,обновление,новости
Не показывает перечень меток в балуне кластера Две колонки
j.f.doe
2 декабря 2016, 09:16

Добрый день,

помогите, пожалуйста, с таким вопросом:

Вывожу на карту метки таким способом

    var timestamp = new Date().getTime();
    var clusterer =  ymaps.geoQuery(ymaps.geoXml.load("http://supers.____com/kml/routes1.kml?" + timestamp)).clusterize({
                preset: 'islands#invertedRedClusterIcons',
                zoomMargin: 50});
    myMap.geoObjects.add(clusterer);

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

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

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

5 комментариев
Как предотвратить выделение кнопки?
Denis Bednov
2 декабря 2016, 11:32

Доброго времени!

Имеется кнопка на карте (control.Button) и обработчик события deselect. При срабатывании одного из обработчиков выполняется некоторая логика, в результате которой нужно оставить кнопку выделенной. В данный момент приходится вызывать для кнопки метод select(), который, в итоге, вызывает событие select и запуск обработчика для него, что не нужно.

Спасибо. 

1 комментарий
Яндекс.карты
Геокодер: список адресов
alexeybykov94
2 декабря 2016, 14:59

Здравствуйте! 
Использую прямое геокодирование, но, в GeoObjectCollection получаю только конкретный объект поиска. (если ввести улицу Карла Маркса, дом 3, то вместо этого у меня покажется первый найденный дом, начинающийся на 3, а не весь список, как ниже, на скрине.  

Как достичь такого результата?

2 комментария
http-геокодер
2 вопроса про control.SearchControl (дневной лимит, возможность кэширования)
rorotron-test
2 декабря 2016, 19:40

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

Исходные данные: Есть сайт. На нем есть карточки организаций. Информация о каждой организации выводится на отдельной странице. В карточке организации выводится Яндекс.Карта с адресами этой организации. Вывод адресов организации осуществляется с помощью поиска с использованием control.SearchControl.

Задача: Необходимо оптимизировать алгоритм вывода адресов организации, чтобы не превысить дневной лимит (25000 запросов) и чтобы ускорить отображение адресов на карте.

Возникли вопросы:

1. За какое количество запросов к геокодеру считается 1 поисковый запрос, выполненный с помощью control.SearchControl с провайдером 'yandex#search' (за 1, или в соответствии с количеством найденных организаций)?

2. Возможно ли поиск организаций, выполненный с помощью control.SearchControl закэшировать (к примеру на 1 сутки), чтобы при каждом повторном открытии страницы вместо нового поиска данные об адресах этой организации для вывода на карте брались из кэша? Если да, то как (инструменты, примеры, куда копать)?

Прошу помочь.

2 комментария
SearchControl,кэширование
Использование карт в wpf приложении
Имя Фамилия
3 декабря 2016, 12:09

Здравствуйте! У меня такой вопроc. Есть wpf приложение. На одной из его страниц встроен компонент web control (awesomium). Через этот компонент загружается html страничка, на которой подгружается скрипт - yandex java script API, который определяет местоположение пользователя. И html страничка и java script файл находятся локально на компьютере. И как бы все работает. Приложение запускается, открывается web control, открываются яндекс карты, но местоположение пользователя не определяется. Потому что, если тупо запустить эту страничку отдельно от приложенния в браузере Google Chrome, то браузер спросит: "Разрешить использовать ваше местоположение?" Нужно нажать да, и после этого уже оно определится. Я так поимаю, то же самое происходит и web contol'е, только этого всплывающего окна нет, его наверное надо как-то отловить или ещё что-то. Прикладываю скрины. 1 - это всплывающее окно  хроме. 2 - это скрин приложения, где просто показалась карта, но не определилось местоположение. Как же в итоге правильно отловить это всплывающее окно?

3 комментария
Разыскивается web-программист со знанием API Яндекс карт
Дмитрий
5 декабря 2016, 15:36

Разыскивается web-программист со знанием API Яндекс карт.
Требуется создать сайт: база данных, админка, функционал. Дизайн не нужен.
Подробнее при общении.

1 комментарий
Яндекс.карты API
Долго грузится карта (около 10 секунд)
Алексей
5 декабря 2016, 22:45

Добрый день!

Встроил карту на сайт. Чтобы я не пытался изменить, карта грузится секунд по 10-15. Из-за чего может возникать такая проблема? Буду благодарен за ответ!

Адрес сайта: http://mytokar.ru/contacts .

Нет комментариев
API yandex
Удалить все существующие метки на карте
Николай Вараксин
6 декабря 2016, 00:10

Добрый день!

Вопрос простой - существует ли возможность удалить с карты все метки: кафе, рестораны, маркеты и т д. ?

4 комментария
Массовое добавление меток на вордпрессе
kiselev.webmaster
6 декабря 2016, 13:15

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

Подскажите как решить задачу. Делаю социальную карту на вордпрессе, все обьекты в пользовательском типе записей, где можно вводить все кординаты обьекта и дт. Вопрос состоит в том как потом вывести все эти обьекты на карту, их большое количество. Из мануалов понял, что метки нужно подгружать из YMapsML-файла или json. НО как предварительно генерировать этот файл???

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

4 комментария
Как определить координаты до названия города?
Василий К.
7 декабря 2016, 00:35

Добрый день. 

Возник вопрос вот пример отлично определется адрес по клику

http://codepen.io/VKorolevskiy/pen/oYdYVa

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

Это возможно?  

1 комментарий
Размер метки при изменении масштаба карта
pokemongotrade
7 декабря 2016, 12:21

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

Ввиду специфики проекта использование кластеров невозможно.

Есть ли возможность задать для меток фиксированный размер? 

1 комментарий
Изменить информацию в балуне через txt/csv
artem.marckin2017
7 декабря 2016, 18:28

Всем привет! Вопрос такой:
Делаю карту с расположением нескольких полигонов (до 15) для сайта по продаже земельных участков. Сами полигоны будут обозначать участки для продажи. Вопрос, можно ли сделать, что бы менеджер менял информацию в txt/csv файлах и в картах (балуне) менялась информация?

Вид файла:

Участок №1  | 2 млн. руб  | 4,4 сотки | Продан

Участок №2  | 3 млн. руб  | 5,5 сотки | Зарезервировать

Участок №3  | 4 млн. руб  | 6,6 сотки | Зарезервировать

На данный момент :

function init () {

    var myMap = new ymaps.Map("YMapsID", {
            center: [x,y],
            zoom: 16,
            behaviors: ['default', 'scrollZoom'] 
        }),

        myPolygon = new ymaps.Polygon([[
                [x,y],[x1,y1],[x2,y2], [x3,y3]]],
            {fillColor: '#FF0000',strokeColor: '#0000FF', opacity: 0.6, strokeWidth: 1,strokeStyle: 'shortdash'});

  myPolygon2 = new ymaps.Polygon([[
           [x,y],[x1,y1],[x2,y2], [x3,y3]]],
        {fillColor: '#FF0000',strokeColor: '#0000FF', opacity: 0.6, strokeWidth: 1,strokeStyle: 'shortdash'});

    myCollection = new ymaps.GeoObjectCollection();

    myCollection
        .add(myPolygon)
   .add(myPolygon2);

    var myBalloonLayout = ymaps.templateLayoutFactory.createClass(

        '<h3> Участок Номер участка??  </h3>' +
        '<p><strong>Площадь:</strong> Площадь??</p>' +
        '<p><strong>Цена:</strong> Цена???</p>' +
        
    );

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

    myCollection.options.set({
        balloonMaxWidth: 400
    });

    myMap.geoObjects.add(myCollection);
}
4 комментария
содержимое балуна,csv,полигоны
API Яндекс.Карт версия 2.1.47
Maps API
7 декабря 2016, 19:01

Сегодня мы выпустили новую версию API Яндекс.Карт 2.1.47. Для её подключения используйте адрес: api-maps.yandex.ru/2.1.47/?lang=ru_RU
Также мы переключили на новую версию api-maps.yandex.ru/2.1-dev/?lang=ru_RU и api-maps.yandex.ru/2.1.46/?lang=ru_RU и опубликовали обновленную документацию.

Исправлено:
- Оптимизировано перетаскивание сложных геометрий при редактировании.

Также в новой версии 2.1.47 доступны все изменения из 2.1.46, которые пока не были включены в мажорной версии.

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

Нет комментариев
обновление,новости,API 2.1
Легально ли грузить тайлы яндекс.карты при использовании например с API Google-карт?
m-silv
8 декабря 2016, 10:44

Собственно сабж.

Легально ли в своем веб-приложении использовать механизм описанный https://developers.google.com/maps/documentation/javascript/examples/maptype-image?hl=ru и в качестве тайлов для собственного типа карты возвращать ссылки на тайлы яндекса (типа https://vec02.maps.yandex.net/tiles?l=map&v=4.130.1&x=5376&y=2475&z=13&scale=1&lang=ru_RU) или это противоречит пользовательскому соглашению?

2 комментария
тайлы
Надпись на полигоне
artem.marckin2017
8 декабря 2016, 16:28

Добрый день. Можно ли сделать надпись на полигоне? Например написать номер дома? Домов будет несколько

9 комментариев
надпись на полигоне,полигоны
RequireJS optimizer не включает Яндекс.Карты в сборку
mvblog
9 декабря 2016, 12:38

Здравствуйте! Я подключаю Яндекс.Карты с помощью RequireJS, конфиг которого выглядит следующим образом:

require.config({
  paths: {
    ymaps: 'https://api-maps.yandex.ru/2.1/?lang=ru_RU'
  }
  shim: {
    ymaps: {
      exports: 'ymaps'
    }
  }
})

И все вроде бы ничего, все работает, пока не возникает необходимость использовать optimizer. Он вообще ломается и не хочет ничего собирать. На сайте RequireJS нашел статью EMPTY: PATHS FOR NETWORK/CDN RESOURCES, в которой говорится, что для optimizer нужно указать в конфиге empty. Я так и указал:

paths: {
  ymaps: "empty:"
}

Сборка начала выполняться, но, при входе на страницу с картой, все ломается. В консоль выпадает ошибка: Uncaught Error: missing ymaps.

Можете подсказать, как решать такую проблему? Спасибо!

3 комментария
RequireJS
Как не сдвигать карту при открытии балуна c опцией alloonPanelMaxMapArea:'Infinity'
Mackiavelly67
9 декабря 2016, 13:05

Как отучить карту сдвигаться при открытии балуна с параметром balloonPanelMaxMapArea: 'Infinity'???

http://jsfiddle.net/op31xbqr/16/

2 комментария
Цвета полигона и отображение балуна
artem.marckin2017
9 декабря 2016, 13:07

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

В общем вопросы:
1.  Прописываю <div>, но он почему-то не задается, может что-то не так? Теги h2 и p тоже не видит. Если в MYCollection.options.set задаю

balloonContentHeader: 'Заголовок',
balloonContentFooter: 'Подвал'

он их тоже не видит. Что-то где-то накосячил, но где не пойму ((

2.  Как правильно прописать цвета полигона, в зависимости  от properties.статуса? Написал, но  как-то не то...

MYCollection.options.set({
if ($[properties.status] == 'Оплачено' ){
this.options.set({
fillColor: '#333'
});

}else {
this.options.set({
fillColor: '#fff'
});
}

});

ymaps.ready(init);

function init () {

    var MYMap = new ymaps.Map("YMapsID", {
            center: [60.18196329668826,30.364867863283404],
            zoom: 17,
            behaviors: ['default', 'scrollZoom'] // скроллинг колесом
        }),

// Общий многоугольник для всех полигонов, будет в виде картинки
        BigPoligon = new ymaps.Polygon(
            [[[... координаты ...]]],
            {name: 'Общий фон' },
        { fillImageHref:'img/MY.png', zIndex:1, strokeWidth:0, zIndexHover:1});


    MY1 = new ymaps.Polygon(
            [[[... координаты ...]]],
        { price: 10000, area: 25 , status: 'Купить' ,name: '№ 1' });

    MY2 = new ymaps.Polygon(
            [[[... координаты ...]]],
        {price: 40000, area: 25 , status: 'Купить' ,name: '№ 2' });

    MY3 = new ymaps.Polygon(
            [[[... координаты ...]]],
        {price: 10000,  area: 25 , status: 'Оплачено' ,name: '№ 3'});


// Создаем коллекцию, в которую будем добавлять метки
    MYCollection = new ymaps.GeoObjectCollection();

//Добавляем метки в коллекцию геообъектов.
    MYCollection
        .add(MY1)
        .add(MY2)
        .add(MY3);

// Шаблон для отображения контента балуна

    var myBalloonLayout = ymaps.templateLayoutFactory.createClass(
        '<div class="myBallon"> <h3>  $[properties.name]  </h3> </div>' +
        '<p><strong>Площадь:</strong>  $[properties.area]  соток</p>' +
        '<p><strong>Цена:</strong>  $[properties.price] рублей</p> '+
        '<p><strong>Статус:</strong>  $[properties.status] </p> '
    );

//  хранилище шаблонов.
    ymaps.layout.storage.add('my#poligonlayout', myBalloonLayout);

// Задаем шаблон для балунов геобъектов коллекции.
    MYCollection.options.set({
        balloonContentBodyLayout:'my#poligonlayout',
        strokeWidth: 0,
        opacity: 0.9,
        zIndexHover:20,
        zIndex:20
    });


//  цвета полигона от статуса

MYCollection.options.set({
if ($[properties.status] == 'Оплачено' ){
this.options.set({
fillColor: '#333'
});

}else {
this.options.set({
fillColor: '#fff'
});
}

});


// Добавляем коллекцию геообъектов на карту.
    MYMap.geoObjects.add(MYCollection);
    MYMap.geoObjects.add( BigPoligon);
}

Нет комментариев
полигоны,цвет полигона,цвет полигона при наведении,не работает балун