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

Yandex.Maps API

$
0
0

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

Интересует вопрос касательно валидации адресов.

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

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


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

$
0
0

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

Как получить ошибку

$
0
0


geolocation.get({
provider: 'browser',
mapStateAutoApply: true,
timeout: 15000
}).then(function (result) {
console.log('что-то произошло в слусае успеха')
result.geoObjects.options.set('preset', 'islands#redCircleIcon');
myMap.geoObjects.add(result.geoObjects);
});

Подскажите есть функция
Подскажите а как мне отследить событие если пользователь например ничего не нажал и сработал timeout или нажал не показывать местоположение.

Мой console.log тогда не срабатывает(
Срабатывает если только пользователь нажал кнопку предоставить местоположение.

Как определить Provider

$
0
0

 ymaps.geolocation.get.

Provider - auto

Как понять в результатах через какой провайдер было обработано, то есть как точно определиилось по ip или через браузер

loadingObjectManager

$
0
0

рисую карту с помощью loadingObjectManager - все ok!!! 

как получиь json data ответа callback  для последующей выборки из нее данных не для карты 

Сменить иконки на найденных объектах

$
0
0

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

Использую 3 searchControl на карте для вывода разных типов объектов (магазины, кафе итд). Как сделать, чтобы результаты поисков имели разные иконки вместо синих?

Может есть более верные варианты как это сделать?

Пробовал использовать geocoder для получения списка, но он не находит объекты по тем же словам или показывает 1 московский главный филиал по названию. Хотя там можно  добавить placeMark'и из результатов поиска с нужными иконками. 

Странно, что в Казани ( "Оптово-розничный торговый центр Порт", его координаты около точки: 55.7240, 49.1952)  и в Москве (сеть магазов "Да!") нашлись магазины с фиолетовыми иконкам. 

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


       document.getElementById('showfoodshops').onclick = function () {
            if (!searchFoodShopsCtl) {              
               console.log('Start adding food shops...');
               objColl = new ymaps.GeoObjectCollection(); 
               myMap.geoObjects.add(objColl);           


               searchFoodShopsCtl = new ymaps.control.SearchControl({
                  options: {
                     provider: 'yandex#search',
                     noPopup : true
                           }
                  });
  
              myMap.controls.add(searchFoodShopsCtl);
              searchFoodShopsCtl.search('магазины продуктов');


              // ymaps.geocode('магазины').then(function (res) {
              // console.log(res.geoObjects.getLength()+' object(s) detected');
              // objColl.add(res.geoObjects);
              // console.log('Food shops added');
              // });
                    
            $('#showfoodshops').attr('value', 'Скрыть Продуктовые');
           }
           else {
             console.log('Start food shops...');                       
             myMap.controls.remove(searchFoodShopsCtl);
             searchFoodShopsCtl = null;

             //objColl.removeAll();
             //myMap.geoObjects.remove(objColl);
             //objColl.destroy();
             //objColl = null;
             $('#showfoodshops').attr('value', 'Показать Продуктовые магазы');
             console.log('Food shops deleted');                       
            }
        };

Инициализация карты с видимой областью, в которую попадают все заданные метки

$
0
0
Для задания видимой области карты, чтобы в нее попадали все геообъекты использую:

myMap.setBounds(myMap.geoObjects.getBounds(), {
   checkZoomRange: true
});

Если геообъект 1, карта зумится до максимально возможного значения, а хотелось бы, чтобы она приближалась до параметра zoom не больше 8, например.

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

Что посоветуете?

Составные маршруты с разными типами транспорта

$
0
0

Здравствуйте. Подскажите как правильно строить составной маршрут (MultiRoute), чтобы для каждой его части можно было выбрать тип пешком/на машине/на общественном транспорте, а не для всего маршрута целиком?


Кластеризация объектов

$
0
0

Доброго времени суток!
Делаю так же, как описано в примере, однако у меня десятки, сотни меток и потому присваивать каждому элементу массива myGeoObjects[0], myGeoObjects[1]...вручную не целесообразно. Поэтому решил собрать массив через цикл for, но тут у меня возникла следующая проблема: переменная-счетчик i упорно не желает вставлять свое значение в каждый эллемент массива myGeoObjects[i].
Пример можно посмотреть тут.
Очень надеюсь на чью либо помощь и заранее благодарен за время, уделенное моей проблеме!

SuggestView при редактировнии input-а

$
0
0

Вопрос наверное больше по JavaScript. Столкнулся со странным поведением. 

Если значение в input-е не указано, то все работает:

http://jsfiddle.net/9tehqood/

Но если задать значение, например,

<input id="search" type="text" value="Москва"/>

То вылетает ошибка Cannot read property 'state' of undefined.

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

Кадастровые границы участков

$
0
0

Здравствуйте.
2 недели назад начала изучать документацию API Карт Яндекса т. к. это требуется мне для курсового проекта. Суть всей моей работы заключается в том, что мне нужно нанести на карту кадастровые границы участков города и при клике на участок должна выводиться информация о нём, а вся эта информация хранится в моей БД. Границы нанести на карту я смогла с помощью тайлов, также получилось сделать так, чтобы при клике на любое место карты показывались координаты этой точки. Теперь думаю над тем, как выводить информацию из свой БД на карту. Я думаю, что можно это осуществить так:
1: при клике на участок считываются координаты и преобразуются в адрес, затем отправляется запрос на мой сервер, где в БД ищется совпадение по полученному адресу и, если такой адрес имеется, то отправляет данные на страницу и отображается через Балун;
2: создать активный слой, чтобы при нажатии на участок открывался Балун и в него помещалась информация из БД. Но как этот способ осуществить пока не понимаю и мне он кажется более сложным, чем 1 вариант.
Поэтому, хочу спросить Вас о том, какой вариант будет проще осуществить?
Есть ли ещё какие-нибудь варианты реализации?
Использую API 1.x

Как минимизировать расход трафика?

$
0
0

Я.Карты - довольно тяжеловесный АПИ. Если подключить его в режиме по умолчанию и инициализировать карту, то браузер выкачает порядка 1,5 мб скриптов (без учета сжатия). Это только скрипты, без тайлов, служебных картинок и так далее.

В документации есть раздел, посвященный выборочной загрузке модулей, но помогает это почему-то несильно. Если указать параметр &load=Map (по идее, как бы только карта и ничего более) - расход трафика снижается, но не принципиально.

Может я что-то не так делаю? Как можно использовать карты в самом минималистичном режиме? Не нужны поиск, геолокация, балуны, рисование фигур, кластеризаторы и прочее-прочее - нужна только карта и чтобы её можно было двигать и зумить и всё.

Какие на этот счет есть практики? Хотелось бы хотя бы примерно приблизиться к весу библиотеки Leaflet.

Спасибо.

Ничего не происходит при первом клике на кластер

$
0
0

Я использовал вот этот пример динамической подгрузки информации об объектах в кластере многоуважаемого dimik'а: http://jsfiddle.net/1dpotvy6/

Но при самом первом клике на кластер ничего не происходит. Если отключить clusterDisableClickZoom, то сначала кластер будет увеличиваться, а когда он не сможет разложиться и должен открыться баллун, то при первом клике снова ничего не происходит, только по второму открывается баллун. Пример: http://jsfiddle.net/1dpotvy6/10/

Тестировалось на разных юраузерах разными людьми, эффект один и тот же. не знаю ошибка это какая-то или нет, но не понятно как лучше её исправить. Пока навесил обработчик на клик по баллуну, сравнивая текущий зум с максимально доступным, но не знаю насколько это верно:

obj.clusters.events.add('click', function (e) {
    var objectId = e.get('objectId');
    if (obj.clusters.balloon.isOpen(objectId)) {
        obj.clusters.balloon.close();
    } else {
        if (map.zoomRange.getCurrent()[1] == map.getZoom()) {
            obj.clusters.balloon.open(objectId);
        }
    }
});

Видел еще упоминание util.requireCenterAndZoom, но выполнять такое через лишние http-запросы кажется крайне неразумным.

Геокодер не ищет за пределами Европы

$
0
0

Хотел сделать поиск координат на сайте, но обнаружил, что за пределами Европы локации не находятся. Это так и должно быть или я что-то неверно делаю? Есть варианты исправить такое поведение?

Вот примеры:

https://geocode-maps.yandex.ru/1.x/?geocode=%D0%9F%D0%B5%D0%BA%D0%B8%D0%BD&format=json&results=5 — предлагает Тамбов

https://geocode-maps.yandex.ru/1.x/?geocode=%D0%A2%D0%BE%D1%80%D0%BE%D0%BD%D1%82%D0%BE&format=json&results=5 — пусто

https://geocode-maps.yandex.ru/1.x/?geocode=%D0%92%D0%B0%D1%88%D0%B8%D0%BD%D0%B3%D1%82%D0%BE%D0%BD&format=json&results=5 — Франция

https://geocode-maps.yandex.ru/1.x/?geocode=%D0%94%D1%83%D0%B1%D0%BB%D0%B8%D0%BD&format=json&results=5 — даже Дублин не находит

new ymaps.Placemark, задать max-width балуна

$
0
0

Добрый день, есть код:

var myPlacemark = new ymaps.Placemark(coords, {

balloonContent: '<div style="width:1000px"></div>'

},

{

preset: 'islands#dotIcon'

maxWidth: '1000'//По идее тут, но нет

});

Суть вопроса, как задать балуну max-width?


Как получать координаты карты в процессе перетаскивания карты?

$
0
0

Задача очень простая: пользователь тянет карту, нужно при этом получать координаты центра карты в реальном времени.

В документации нашел 3 события, теоретически относящихся к вопросу, но ни одно из них не подходит:

boundschange - срабатывает однократно в конце.

actiontick и actiontickcomplete - срабатывают постоянно, но они оказались бесполезны, поскольку координаты при этом не обновляются (функция getCenter отдает одни и те же старые координаты, а обновляются они только в самом конце пользовательского действия).

Расчёт стоимости доставки с заданной начальной точкой

$
0
0

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

Подскажите, пожалуйста, как переделать расчет стоимости доставки из этого примера https://tech.yandex.ru/maps/jsbox/2.1/deliveryCalculator от уже заданной начальной точки, т. е. чтобы начальная точка уже была задана и нужно было ввести только адрес, по которому нужно доставить.

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

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

Список дорожных событий по городу

$
0
0

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

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

очень нужна данная функция

Дорожные события на статической карте

$
0
0

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

Необходимо отобразить дорожные события (в частности ДТП) на статической карте

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

на самом сайте, если включить слой с пробками, то отображаются и ДТП

включаю слой с пробками на статической карте - ДТП нет

как их отобразить?

Как изменить адрес здания???

$
0
0

Добрый день!

Здание ДК «Современник» отображается в картах и яндекс навигаторе по адресу г. Березовский, ул. Смирнова,1.  Хотя дома на этой улице много лет как переномеровали, и сейчас у здания адрес: г. Березовский, ул. Академика Королева, 1/Б. Пытался отправить запрос на изменение, но в справочнике нет адреса ул. Академика Королева, 1/Б. Кто-нибудь знает что нужно сделать, чтобы изменить ошибочный адрес здания?

Viewing all 7380 articles
Browse latest View live


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