Доброго времени суток, подскажите можно ли выслать пуш уведомление на смартфон не заходя под своим логином?...
Позиция раз: находясь сверху страницы, на которой расположена карта (карта внизу видимой области страницы), при открытии балун появляется в верхней части карты
Позиция 2: прокрутив страницу до конца вниз и сменив балун, снова нажав на первый балун (в нашем случае "Выборг"), он открывается за пределами карты. При этом карта сдвигается, но не достаточно.
Такое ощущение, что балун центруется по высоте страницы
Использую функцию поиска по ближайшим точкам:
searchControl.events.add('resultshow', function () { var index = searchControl.getSelectedIndex(); var geoObjectsArray = searchControl.getResult(index).then(function (result) { allObj.getClosestTo(result.geometry.getCoordinates()).balloon.open(); }); }, this);
Пока разобрался, что это происходит из-за пользовательского макета балуна с автопозиционированием
Здравствуйте.
Нужно открыть соответствующий кластер по клику на ссылки. Вот что должно получится в итоге. http://take.ms/mFz0I
Создаю карту
ymaps.ready(init); function init () { var myMap = new ymaps.Map("map", { center: [55.6938,37.6001], zoom: 5, controls: [], }); var myGeoObjects = []; myGeoObjects[0] = new ymaps.Placemark([55.6740,37.7333],{ clusterCaption: 'Moscow', },{ iconLayout: 'default#image', iconImageHref: 'map.png', iconImageSize: [28, 42], }); myGeoObjects[1] = new ymaps.Placemark([56.6990,37.7333],{ clusterCaption: 'Moscow', },{ iconLayout: 'default#image', iconImageHref: 'map.png', iconImageSize: [28, 42], }); myGeoObjects[2] = new ymaps.Placemark([56.299278725518555,43.99715184918819],{ clusterCaption: 'Nnov', },{ iconLayout: 'default#image', iconImageHref: 'map.png', iconImageSize: [28, 42], }); myGeoObjects[3] = new ymaps.Placemark([56.30080581135179,43.99715184918819],{ clusterCaption: 'Nnov', },{ iconLayout: 'default#image', iconImageHref: 'map.png', iconImageSize: [28, 42], }); var clusterer = new ymaps.Clusterer({ clusterDisableClickZoom: false, clusterOpenBalloonOnClick: false, clusterBalloonContentLayout: 'cluster#balloonCarousel', }); clusterer.add(myGeoObjects); myMap.geoObjects.add(clusterer); }
Как связать ссылки с кластерами, чтобы по клику их открывать? Покажите пожалуйста маленький пример если не сложно. jsfiddle
Здравствуйте. Можно ли как то убрать ориентиры с карты (магазины, памятники и прочее).
Добрый вечер. Подскажите пожалуйста, как работать с объектами карты, после обновления их через objectManager.setUrlTemplate (получение новых значений) и objectManager.reloadData() , перезаписывания меток?
На пример:
objectManager.objects.getLength();
Могу использовать только до перезаписывания меток, но он отдает "старый" результат, а не новый.
Пробую не что такое:
myMap.panTo(myMap.geoObjects.getBounds(), {checkZoomRange:true});
, но иногда приближает точку очень близко и приходится уменьшать зум карты. Или на пример:
myMap.setBounds(myMap.geoObjects.getBounds());
Так же не возможно использовать после objectManager.reloadData(). Не понимаю как центровать карту с исп LOM'a?
objectManager — это и есть LOM
objectManager = new ymaps.LoadingObjectManager
Как перекрасить яндекс карту в серые тона? Что бы было, как на примере ниже.
Здравствуйте!
Столкнулся с проблемой. Загружаю метки на карту из географических координат (lat, lon), но для дальнейшей обработки мне требуется узнать положение меток на экране (x, y).
Возможно ли реализовать преобразование геокоординат в координаты экрана?
Где взять APIключ на созданной карте для вставки его в виджет сайта?
Подскажите опжалуйста. Версия 2,1.
Имеется карта, с использованием LoadingObjectManager.
На карте есть список ссылок, (копий меток которые могут быть на карте, с их координаты и ид).
При клике на ссылку:
Перемещаемся к её положению, увеличиваем карту.
myMap.panTo(newLoca).then(function () { console.log(idCurrent) // id метки myMap.setZoom(17); console.log(objectManager.objects) console.log(objectManager.objects.get(idCurrent)); },this);
Подскажите, как можно использовать метод fire что бы сэмитировать клик по балуну. Иногда это может быть кластер.
Так же имеется ивента на просмотр клика и нажатия на кластер:
var activeObjectMonitor = new ymaps.Monitor(objectManager.clusters.state); // При клике на некластеризованные объекты получаем содержимое балуна objectManager.objects.events.add('click', function(e) { var objectId = e.get('objectId'); setBalloonData(objectId); }); activeObjectMonitor.add('activeObject', function (e) { var objectId = activeObjectMonitor.get('activeObject').id; setBalloonData(objectId); });
Или как еще можно реализовать?
Спасибо.
Хотел бы узнать есть ли такая возможность?
Подойдет даже обычное простроение примитивов зданий на примерную высоту.
Здравствуйте!
Делаю калькулятор для построения маршрута и рассчета стоимости доставки.
Подскажите пожалуйста пару вопросов:
1. Список точек вне Карты http://joxi.ru/5mdNEb4FkJKwMA
Т.е. эти два поля сделать отдельно от карты, при этом если вводить предлагал подходящие результаты от яндекса.
2. Как добавить дополнительные(промежуточные) точки при построении маршрута?
Пример похожего калькулятора amg-trans.ru
Всем привет!
Прошу сильно не кричать, но очень прошу помочь))) Карту для сайта начал собирать неделю назад и знакомиться с документацией и примерами тоже. Собрал рабочий пример, но теперь не могу разобраться, как создать фильтрацию в нем - необходимо добавить один параметр (например, день недели) с несколькими чекбоксами (события в понедельник, во вторник и т.д.), по которым бы и производилась фильтрация и показывались/скрывались метки.
Собственно сам пример кода
<script type="text/javascript">
ymaps.ready(init);
function init () {
var myMap = new ymaps.Map("map", {
center: [55.167102, 61.397612],
zoom: 11,
controls: []
}, {
searchControlProvider: 'yandex#search',
suppressMapOpenBlock: true
});
myPlacemark1 = new ymaps.Placemark([55.167418, 61.379358], {
balloonContent: '1'
}, {
iconLayout: 'default#image',
iconImageHref: 'URL',
iconImageSize: [26, 42],
iconImageOffset: [-13, -42],
balloonPanelMaxMapArea: 0
}),
myPlacemark2 = new ymaps.Placemark([55.162772, 61.292724], {
balloonContent: '2'
}, {
iconLayout: 'default#image',
iconImageHref: 'URL',
iconImageSize: [26, 42],
iconImageOffset: [-13, -42],
balloonPanelMaxMapArea: 0
}),
myPlacemark3 = new ymaps.Placemark([55.194160, 61.362174], {
balloonContent: '3'
}, {
iconLayout: 'default#image',
iconImageHref: 'URL',
iconImageSize: [26, 42],
iconImageOffset: [-13, -42],
balloonPanelMaxMapArea: 0
}),
myPlacemark4 = new ymaps.Placemark([55.142332, 61.375979], {
balloonContent: '4'
}, {
iconLayout: 'default#image',
iconImageHref: 'URL',
iconImageSize: [26, 42],
iconImageOffset: [-13, -42],
balloonPanelMaxMapArea: 0
}),
clusterer = new ymaps.Clusterer({
clusterBalloonContentLayoutWidth: 330,
clusterBalloonContentLayoutHeight: 300,
clusterBalloonAccordionShowIcons: false,
clusterBalloonContentLayout: 'cluster#balloonAccordion',
clusterDisableClickZoom: true,
clusterOpenBalloonOnClick: true,
clusterIcons: [{
href: 'URL',
size: [45, 55],
offset: [-22, -55]
}]});
clusterer.add(myPlacemark1).add(myPlacemark2).add(myPlacemark3).add(myPlacemark4);
var myBalloonLayout = ymaps.templateLayoutFactory.createClass();
ymaps.layout.storage.add();
myMap.geoObjects.add(clusterer);
}
</script>
Выводить метки через myPlacemark№ очень удобно в моем случае. Как устроить фильтрацию на данном примере?
Здравствуйте.
У меня следующая задача.
На карте множество точек.
Добавляю их на карту через objectManager с включенной клатеризацией.
Для самих точек содержание баллуна изначально не указано.
Задача: в баллуне кластера подтягивать информацию по точке в момент выбора этой точки в списке точек .
Решил идти таким путём. Отлавливать переключение между табами балуна и в этот момент выполнять действия для запроса информации по выбранной точке.
Нашёл такую статью https://yandex.ru/blog/mapsapi/55496.
Воспользовавшись советами, данными там, пытаюсь сделать следующее :
pointsObjectManager.clusters.events.add('balloonopen', function (e) { var clusterId = e.get('objectId'); var cl = pointsObjectManager.clusters.getById(objectId); var optionMonitor = new ymaps.Monitor(cl.options); optionMonitor.add("activeObject", function (newValue) { //todo:: код по запросу информации по точке. alert("activeObject: " + newValue); }); });
Но судя по тому, что alert не отрабатывает, монитор я как-то не так навешиваю.
Подскажите, пожалуйста, что делаю то не так.
Вопрос в следующем, как прикрепить к этим меткам балуны, метки идут через FeatureCollection и я не понимаю как сделать к ним балун, пробовал от myPlacemark, но так не работает.
<script type="text/javascript"> ymaps.ready(init); var myMap, myPlacemark; function init() { var myMap = new ymaps.Map('map', { center: [55.755826, 37.6173], zoom: 10 }); red = new ymaps.Placemark([55.709658441942416, 37.632903415777605], { // Чтобы балун и хинт открывались на метке, необходимо задать ей определенные свойства. balloonContentHeader: "AFI Residence Paveletskaya", balloonContentBody: "Cкачать презентацию", balloonContentFooter: "Москва, Павелецкая наб., д.8 - 6 ", hintContent: "Подробнее" }); myMap.geoObjects.add(red); // Функция, которая по состоянию чекбоксов в меню // показывает или скрывает геообъекты из выборки. function checkState () { var shownObjects, byColor = new ymaps.GeoQueryResult(), byShape = new ymaps.GeoQueryResult(); // Отберем объекты по цвету. if ($('#red').prop('checked')) { // Будем искать по двум параметрам: // - для точечных объектов по полю preset; // - для контурных объектов по цвету заливки. byColor = myObjects.search('options.fillColor = "#ff1000"') .add(myObjects.search('options.preset = "twirl#redIcon"')); } if ($('#green').prop('checked')) { byColor = myObjects.search('options.fillColor = "#00ff00"') .add(myObjects.search('options.preset = "twirl#greenIcon"')) // После того, как мы нашли все зеленые объекты, добавим к ним // объекты, найденные на предыдущей итерации. .add(byColor); } if ($('#yellow').prop('checked')) { byColor = myObjects.search('options.fillColor = "#ffcc00"') .add(myObjects.search('options.preset = "twirl#yellowIcon"')) .add(byColor); } // Отберем объекты по форме. if ($('#point').prop('checked')) { byShape = myObjects.search('geometry.type = "Point"'); } if ($('#polygon').prop('checked')) { byShape = myObjects.search('geometry.type = "Polygon"').add(byShape); } if ($('#circle').prop('checked')) { byShape = myObjects.search('geometry.type = "Circle"').add(byShape); } // Мы отобрали объекты по цвету и по форме. Покажем на карте объекты, // которые совмещают нужные признаки. shownObjects = byColor.intersect(byShape).addToMap(myMap); // Объекты, которые не попали в выборку, нужно убрать с карты. myObjects.remove(shownObjects).removeFromMap(myMap); } $('#red').click(checkState); $('#green').click(checkState); $('#yellow').click(checkState); $('#point').click(checkState); $('#polygon').click(checkState); $('#circle').click(checkState); // Создадим объекты из их JSON-описания и добавим их на карту. window.myObjects = ymaps.geoQuery({ type: "FeatureCollection", features: [ { type: 'Feature', geometry: { type: 'Point', coordinates: [55.895636, 37.462314900000024] }, options: { preset: 'twirl#yellowIcon' } }, { type: 'Feature', geometry: { type: 'Point', coordinates: [55.8104533, 37.64509599999997] }, options: { preset: 'twirl#greenIcon' } }, { type: 'Feature', geometry: { type: 'Point', coordinates: [55.70864899999999, 37.64558490000002] }, options: { preset: 'twirl#greenIcon' } }, { type: 'Feature', geometry: { type: 'Point', coordinates: [55.84060729999999, 37.49379109999995], radius: 10000 }, options: { preset: 'twirl#redIcon' } } ] }).addToMap(myMap); } var expanded = false; function showCheckboxes() { var checkboxes = document.getElementById("checkboxes"); if (!expanded) { checkboxes.style.display = "block"; expanded = true; } else { checkboxes.style.display = "none"; expanded = false; } } </script>
<form>
<div class="multiselect">
<div class="selectBox" onclick="showCheckboxes()">
<select>
<option>Выбрать фильтр</option>
</select>
<div class="overSelect"></div>
</div>
<div id="checkboxes">
<label for="red" >
<input type="checkbox" id="red" checked=true/>Красные</label>
<label for="green">
<input type="checkbox" id="green"checked=true />Зеленые</label>
<label for="yellow">
<input type="checkbox" id="yellow"checked=true />Желтые</label>
<label for="point">
<input type="checkbox" id="point"checked=true />Все объекты</label>
</div>
</div>
</form>
Обязательно ли использовать тайлы размером 256x256 точек? Можно ли работать с 1024x1024, например?
Сходу указав tileSize: [1024, 1024] получил работающим только нулевой уровень.
Раньше формат ответа от suggest'а был таким "проспект Ленина, Екатеринбург, Свердловская область, Россия".
Скриншот сделан 19.01.2017. В конце ещё к каждому тексту добавлялось ", Россия" — этого нет на скриншоте, обрабатывали ответ.
Сегодня заметили такую проблему:
Появилась она из-за того, что у suggest'а поменялся формат ответа и теперь он такой "Россия, Свердловская область, Екатеринбург, проспект Ленина"
Было так — "проспект Ленина, Екатеринбург, Свердловская область, Россия".
Стало так — "Россия, Свердловская область, Екатеринбург, проспект Ленина".
Никакой информации об этом изменении в интернете я не нашёл, версию js апи яндекс карт мы не поднимали. Дайте информацию, баг ли это, когда будет исправлено и почему нигде нет информации об этом изменении?
Не работает Яндекс карты API в PhoneGap, на мобильных телефонах карта не отображается, на десктопе все отлично.
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width"> <title>Blank App</title> <script src="https://api-maps.yandex.ru/2.1/?lang=ru_RU" type="text/javascript"></script> <script type="text/javascript"> ymaps.ready(init); var myMap; function init(){ myMap = new ymaps.Map("map", { center: [55.76, 37.64], zoom: 7, }); } </script> <style> html, body { margin: 0;}</style> </head> <body> <div id="map" style="width: 400px; height: 400px"></div> </body> </html>
{ type: 'Feature', geometry: { type: 'Point', coordinates: [55.8104533, 37.64509599999997] }, options: { preset: 'twirl#greenIcon' }, properties: { balloonContent: "Мой контент балуна" } },
Все точки идут через FeatureCollection
Как сделать так чтобы можно было в BallonContent отображать любой html-код?
Начинает не хватать конструктора карт.
Хотелось бы вывести список всех балунов и из текстом и использовать кластеризатор.
Сейчас в конструкторе на карту нанесены только балуны. Их порядка 42, но вручную не хотелось бы переносит. Или без вариантов?
Ещё в тексте всех балунов нужно поменять ссылку с "http://site" на протоколонезависимое написание "//site"
Добрый день!
Подскажите, как наиболее просто выполнить задачу определения контуров зоны в пределах определенного растояния от статичной точки на карте.
Образно, есть точка, определить какая зона карты с точностью до дома входит в зону до 5 км (по дорогам) от данной точки.
Спасибо!