Мы переключили ссылку api-maps.yandex.ru/2.1/?lang=ru_RU, которая теперь соответствует версии 2.1.48.
Переключение ссылки 2.1
Плавающий баннер на карте.
Хотим сделать плавающий баннер на карте с привязкой к кординате. Когда координата, к которой привязан баннер выходит за границы видимости на экране, можно ли сделать, чтобы баннер был виден, и в зависимости от передвижения карты баннер тоже смещался ближе к координате, но оставался в зоне видимости экрана постоянно.
Метка в виде диаграммы...
myPieChart = new ymaps.Placemark([ 55.847, 37.6 ], { // Данные для построения диаграммы. data: [ {weight: 8, color: '#0E4779'}, {weight: 6, color: '#1E98FF'}, {weight: 4, color: '#82CDFF'} ], iconCaption: "Диаграмма" }, { // Зададим произвольный макет метки. iconLayout: 'default#pieChart', // Радиус диаграммы в пикселях. iconPieChartRadius: 30, // Радиус центральной части макета. iconPieChartCoreRadius: 10, // Стиль заливки центральной части. iconPieChartCoreFillStyle: '#000000', // Cтиль линий-разделителей секторов и внешней обводки диаграммы. iconPieChartStrokeStyle: '#000000', // Ширина линий-разделителей секторов и внешней обводки диаграммы. iconPieChartStrokeWidth: 3, // Максимальная ширина подписи метки. iconPieChartCaptionMaxWidth: 200 });
Пример из песочницы, задумка 5, все шикарно, но как указать стиль текста в центре, просто если указать цвет границ и цвет фона центра #000000 то ясно дело черный текст плохо видно на черном фоне))
и в доках ничего не нашел по этому поводу...
Как отфильтровать объекты по координатам?
Вопрос, наверное, очень глупый, но вот не понимаю как его решить…
Как найти объекты на карде по координатам?
result = ymaps.geoQuery(objects) .setOptions('preset', 'islands#redDotIcon') .setOptions('visible', false) .setOptions('iconColor', '#40BC86') .addToMap(myMap);
Вот добавил я объекты, скрыл их сразу и потом хочу показать только определенные.
Что-то типа того:
result.searchCoordinate(arCoordinate).setOptions('visible', true);
arCoordinate — массив объектов с координатами.
Я взял координаты как вариант, если можно поискать по какому-то ID, то еще лучше.
При выделении пункта в списке, изменить цвет иконки на карте
Добрый день. У меня есть список пунктов выдачи и при изменении в самом списке должен выбраться пункт выдачи на карте.
Выглядит это так:
По скринам видно, что при выборе Ленинградского проспекта точка не отмечается на карте, потому что она находится в кластере.
Вот текущий код:
$('#checkout-delivery-to-terminal input').on('ifChecked',function(){ $('#checkout-delivery-to-terminal-terminal-tk').val($(this).closest('.terminal').attr('data-terminal-type')); var objectId = $(this).val(); terminalsManager.objects.each(function(object){ if(object.id == objectId){ if(!checked_by_map){ terminalsMap.setCenter(object.geometry.coordinates, 15); }else{ checked_by_map = false; } terminalsManager.objects.setObjectOptions(object.id, { preset: 'islands#greenDotIcon' }); }else{ terminalsManager.objects.setObjectOptions(object.id, { preset: 'islands#blueIcon' }); } }); }); });
Как выделить кластер? И может можете предложить вариант поэлегантнее?
Получение координат из JSON и отображение их как коллекции объектов. Нужна помощь!
Добрый день. Необходима помощь. Пытаюсь получить координаты из JSON и вывести их на карте как коллекцию объектов.
Данные получаю, в консоли выводится, а карта не хочет их отображать.
Вот код:
var items = []; console.log("JSON start...") jQuery.getJSON( url, function( json ) { jQuery.each(json.posts, function(key, index) { loc = index.custom_fields.map_coords[0]; items.push(loc); }); }) .done(function() { console.log("JSON received... Start YMaps") ymaps.ready(init); function init() { var myMap = new ymaps.Map("map", { center: [54.738307, 55.945710], zoom: 13 }), addresses = new ymaps.GeoObjectCollection(null, { preset: 'islands#yellowIcon' }); console.log('1st elem: ' + items[0] + "\nArray length: " + items.length); for (var i = 0, l = items.length; i < l; i++) { addresses.add(new ymaps.Placemark(items[i])); } myMap.geoObjects.add(addresses); } }) .fail(function() { console.log( "error" ); });
Получаю ошибку, Cannot read property 'then' of null. Я так понял массив координат ему не нравится. Хотя в консоли всё нормально отображается.
В чём может быть проблема?
Прямое и Обратное геокодирование в одном скрипте
Доброго времени суток!
Не так давно начал изучать API Яндекс Карт, потому столкнулся с такой, казалось бы НЕ, проблемой, над которой бъюсь уже не первый день.
Необходимо реализовать карту, на которой через поиск можно было находить объект (с выподающими подсказками, способными править неправильный запрос и приводить его в "преглядный" яндексовский вид), в результате поиска которого на карте устанавливался бы маркер, который в последствии можно было бы перемещать.
И вроде почти все получилось, вот только маркер результата поиска и маркер "перемещения" получаются разными и быть одним целым никак не хотят...
Пример кода можно посмотреть тут. Очень надеюсь хоть на чью то помощь.
Заранее спасибо!
Окна в JS
Добрый день! Написал код,но полседняя его стадия не работает. Мой проект:
<!DOCTYPE html> <html> <head> <title>Map</title> <script src="http://api-maps.yandex.ru/2.1/?lang=ru_RU" type="text/javascript"></script> <script src="http://yandex.st/jquery/2.2.3/jquery.min.js" type="text/javascript"></script> <link href="http://yandex.st/bootstrap/2.2.2/css/bootstrap.min.css" rel="stylesheet"> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> </head> <body> <div id="map"></div> <style> html, body,#map { width: 100%; height: 100%; padding: 0; margin: 0; } #my-listbox { top: auto; left: auto; } *{ font-family: Areal; } .b-container{ width:200px; height:150px; background-color: #ccc; margin:0px auto; padding:10px; font-size:30px; color: #fff; } .b-popup{ width:100%; min-height:100%; background-color: rgba(0,0,0,0.5); overflow:hidden; position:fixed; top:0px; } .b-popup .b-popup-content{ margin:40px auto 0px auto; width:100px; height: 40px; padding:10px; background-color: #c5c5c5; border-radius:5px; box-shadow: 0px 0px 10px #000; } </style> <script> ymaps.ready(function () { var myMap = new ymaps.Map('map', { center: [55.733835, 37.588227], zoom: 12, controls: [] }); var myPlacemark = new ymaps.Placemark(myMap.getCenter(), { balloonContentBody: [ '<div class="b-container">', '<a href="javascript:PopUpShow()">Press here</a>', '</div>', '<div class="b-popup" id="popup1">', '<div class="b-popup-content">', 'Text in Popup', '<a href="javascript:PopUpHide()">Hide popup</a>', '</div>', '</div>' ].join('') }, { preset: 'islands#redDotIcon' }); myMap.geoObjects.add(myPlacemark); }); $(document).ready(function(){ //Скрыть PopUp при загрузке страницы PopUpHide(); }); //Функция отображения PopUp function PopUpShow(){ $("#popup1").show(); } //Функция скрытия PopUp function PopUpHide(){ $("#popup1").hide(); } </script> </body> </html>
Получение превью и фото панорамы для сайта
Добрый день! Можно ли по запросу (в котором адрес либо координаты) получить изображения которые показывает яндекс (как на картинке), изображения дома и улицы?
Как убрать метки больниц, банкоматов и других объектов с карты?
Доброго времени суток.
Натолкнулся на странную фичу карт - отображение организаций в виде иконок (прогружаются вместе с картой - вручную не вызываю).
Не могу понять как их отключить.
В документации сказано про параметр "yandexMapDisablePoiInteractivity", но он отключает только интерактивность (событие при клике).
А как сам значек и надпись убрать?
Клиент жалуется - очень сильно не хочет, чтобы конкуренты отображались на его сайте.
Подскажите пожалуйста - как решить данную проблему?
Код подключения карты:
map = new ymaps.Map("map", { center: coordinates, zoom: 7, controls: ["zoomControl","fullscreenControl"] }, { suppressObsoleteBrowserNotifier:true, yandexMapDisablePoiInteractivity: true, suppressMapOpenBlock: true } ); map.behaviors.disable('scrollZoom');
Построение маршрутов только внутри России
Здравствуйте!
Подскажите пожалуйста , возможно ли построить маршрут по двум точкам (без указания промежуточной) из Омска в Челябинск, так чтобы маршрут объесжал казахстан.
Разработка собственного меню (рисование полигона)
Добрый день !
Уважаемые участники , может кто-то вменяемо рассказать или показать на примерах , каким образом можно разработать собственное меню (ymaps editor vertex)?
В стандартном , подгружаемом с ymaps , при клике по вершине построенного полигона есть пункты :"Удалить", "Завершить редактирование", "Добавить внутренний контур"...
Как сделать собственное меню , допустим , чтоб там было только два первых пункта или только удалить.
Перелопатил уже кучу материала , но толком разобраться так и не смог !
Использую API 2.1.
За ранее спасибо за ответы !
Перестала отображаться карта с кластером меток
Перестала отображаться карта с кластерами меток, просто серый квадрат.
Работало нормально до последнего дня. Отображало метки, группировало в кластеры.
адрес траницы https://skidkaufa.ru/map.html
консоль не отображает ни одной ошибки, соседние страницы отображают карту с одной меткой нормально.
Пример:
https://skidkaufa.ru/kupon/akciya-smeshnye-ceny-ot-sanatoriya-yumatovo-skidka-20-na-vse-putevki-ot-14-dnej.html
Никак не могу понять что мешает отображению.
Подскажите куда копать?
Добавление GeoQueryResult в ObjectManager
Можно ли как-то GeoQueryResult, полученный в результате myObjects.search(***), добавить в ObjectManager? Почти весь функционал построен на ObjectManager, и теперь не могу из-за этого седлать элементарные выборки по объектам на карте.
Если такое невозможно, можете хотябы подсказать, как удалить объекты (например маркеры) после того, как они были добавлены на карту?
function searchFunc() { var res = new ymaps.GeoQueryResult(); window.myObjects = ymaps.geoQuery(myPlacemark); //myPlacemark - строка с json-описаниями геометрии res = myObjects.search('options.preset = "islands#greenDotIcon"'); /* Здесь нужно как-то удалять то, что было добавлено на карту в результате предыдущего выполнения функции searchFunc(). */ res.addToMap(myMap); }
Автопостроение маршрута
Добрый день уважаемые профессионалы!
Возникла такая проблема. Есть готовое решение построения маршрута от текущего местоположения пользователя до необходимой точки: https://tech.yandex.ru/maps/jsbox/2.1/routes_to_point
Проблема в том, что маршрут строит только при клике на один из пунктов выпадающего меню "Как добраться".
А необходимо чтобы он строился автоматически при загрузке страницы (вариант "На автомобиле").
Как я только не бился, не получается это сделать. Подскажите пожалуйста, как реализовать? Заранее большое спасибо!
Поиск организаций на карте
Здравствуйте,
Необходимо на карте отобразить в городе (определяется по геоданным посетителя) ближайшие организации(например аптеки), но только определенных фирм.
Как это лучше всего сделать, подскажите пожалуйста? Пытаюсь как в примере ниже, но там нельзя ограничить поиск по определенным организациям.
Спасибо!
ymaps.ready(init); function init(ymaps) { ym = ymaps; myMap = new ym.Map('ppoapi', { center: [50.45050151, 30.51993271], zoom: 16, controls: ['searchControl', 'fullscreenControl'] }); searchControl = myMap.controls.get('searchControl'); searchControl.options.set('provider', 'yandex#search'); myMap.controls.add(searchControl); //searchControl.search('Санкт-Петербург РИГЛА; Санкт-Петербург Аптека 36.6'); searchControl.search('Санкт-Петербург Аптека').then(function () { var geoObjectsArray = searchControl.getResultsArray(); if (geoObjectsArray.length) { console.log(geoObjectsArray[0].properties.get('name')); } }); }
Список городов в маршруте
Предположим имееется маршрут из точки А в точку Б, требуется получить список городов попадающих в этот маршрут. Как это можно реализовать?
Boundschange срабатывает дважды
При изменении границ карты опрашиваю сервер, который возвращает набор точек (до 300) с координатами, которые входят в эту область. При клике по кластеру происходит приближение карты и дважды срабатывает событие boundschange, в связи с чем точки/кластеры повторно перестраиваются и происходит заметные «прыжки» меток на карте. Если использовать zoom-контролы, то событие срабатывает один раз. Использование debounce для колбека на boundschange не помогает. Как решить эту проблему?
internal server error при расчете марштура
есть такая страничка http://interesnayamoskva.ru/mapsAndTans/maps.php
раньше при расчете автомобильного маршрута все работало
потом год не заходил на сайт а теперь при нажатии кнопки найти выдает internal server error
можете подсказать что надо правитть
Включить редактор для объекта загруженного через LoadingObjectManager
Здравствуйте. Имею загрузку объектов на карту:
loadingObjectManager = new ymaps.LoadingObjectManager('geo.php?bbox=%b', { // Включаем кластеризацию. clusterize: false, // Опции кластеров задаются с префиксом cluster. clusterHasBalloon: false, // Опции объектов задаются с префиксом geoObject geoObjectOpenBalloonOnClick: false }); myMap.geoObjects.add(loadingObjectManager);
Как по событию - клику, включить редактирование?
Событие запускаю так:
loadingObjectManager.objects.events.add('click', function (e) { *** });