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

Метка не входит на карту при setBounds

$
0
0

Добрый день.

На карте рисуется группа объектов через  geoObjects.add (), зетем массив координат объектов прогоняется через цикл и выясняются координаты верхнего левого и правого нижнего угла. По которым делается setBounds ().

Проблема в том, что метка, например, такая islands#blackStretchyIcon рисуется вверх от точки координат, и не попадает в установленный setBounds ().

Как быть?


Очередность выдачи по ключевым словам в яндекс карты

$
0
0

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

1)от чего зависит определение позиции (очередность) в яндекс картах по одинаковым ключевым словам ?

2)Почему после написания отзыва ,он не сохраняется?

API Яндекс.Карт версия 2.1.51

$
0
0

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

Изменено:
- Внешний вид путевых точек мультимаршрутов и курсора в режиме добавления путевых точек.

Исправлено:
- При построении маршрутов на общественном транспорте иконка в балуне могла не совпадать с видом транспорта на сегменте маршрута.
- При масштабировании правой кнопки мыши в режиме просмотра панорам на миникарте не отображалась область выделения.
- Не работала линейка при включенном слое панорам.
- Метод 'getObjectInPosition()' слоя активных областей не всегда округлял дробный зум при запросах за тайлами.
- При поиске по организациям иногда автоматически открывалась карточка объекта, если в видимой области карты находился только один результат.
- Карта в Геоссылке не учитывала локаль подключения API.
- При ошибке в Геоссылке выводилось пустое описание.
- В карточках POI домов не отображался адрес.
- При масштабировании панорам на iOS иногда происходила ошибка рендеринга. 
- Маркеры POI на подложке могли быть неинтерактивны.
- При некоторых неверных запросах API отвечал статусом 500 вместо 400.
- Ошибка метода 'removeAll()' коллекции в случае, когда элементы заданы по индексам.
- Оптимизация загрузки API.

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

ymaps.Map is not a constructor в паттерне модуль(c ready)

$
0
0

Про ready знаю. Вот только даже с ним не работает, если использовать паттерн...
 

mapYandex = (function() {
  var init = function(options) {
    ...
    function ymapInit() {
     var map = new ymaps.Map ....
    }
    ymaps.ready(ymapInit);
  }
  return {
    init: init
  }
})();
mapYandex.init({...});

Список городов, для которых есть подробная карта

$
0
0

В FAQ https://tech.yandex.ru/maps/doc/faq/index-docpage/ есть пункт "Как получить список городов, для которых есть подробная карта?", в котором  есль ссылка http://maps.yandex.ru/?index . Я так понимаю что это осталось от старой версии карты и в новую это не перенесли?

Frontend Conf 2017: Особенности разработки API

$
0
0

Frontend Conf — это профессиональная конференция фронтенд-разработчиков, посвященная всем аспектам разработки клиентской части веб-проектов. В 2017 году она пройдёт 5 и 6 июня, в Кампусе Сколково в Москве.

На Frontend Conf выступит разработчик API и Конструктора Всеволод Шмыров. На примере наших сервисов он расскажет, чем отличается разработка API или фреймворка от разработки обычного frontend-приложения.

Подробная информация для участников конференции на сайте Frontend Conf 2017.

Прокси для Яндекс.Карт? Помогите веб-мастерам из Украины ;)

$
0
0

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

Предыстория: печально, но факт, - наше правительство решило заблокировать к самым вредным ресурсам сети социальным сетям, почте и поисковым машинам. Это, без сомнения, грустно.

Проблема: множество веб-мастеров используют сервисы Яндекса ввиду удобства и красивой  реализации на своих сайтах. И в первую очередь, вопрос касается карт. Детализация у Яндекса по нашим регионам намного лучше, чем у OSM и Google. Т.е. для мелких пгт и сел их заменить нечем.

Вопрос: Для метрики уже сделали прокси. Может есть возможность сделать что-то подобнное и для карт? Например, позволить проксировать maps-API через свой nginx или php-скрипт, ну или снова через cloudfront?

С ув.

Изменение метки маршрута

$
0
0

Здравствуйте. При построении маршрута по точкам (мультимаршрут) путевые точки отображаются в виде меток с буквами латинского алфавита (A, B, C и т.д.). Можно ли сделать так, чтобы метки были с цифрами (1, 2, 3 и т.д.)?


Вращение метки на Яндекс карте, созданной в виде полигона SVG

$
0
0

Для создания метки на карте в виде полигона (или более сложной векторной фигуры) можно использовать SVG и вращать эту метку с использованием функции rotate() CSS3-трансформации. 
Пример использования этого подхода я разместил на jsbin.com: Yandex maps js API Placemark polygon rotation

Смещена область для клика

$
0
0

Здравствуйте . Что может влиять на область для клика на указатель?

Сам указатель находится по нужным координатам  и всплывашка (balloon) . А вот область для клика и прочих событий на метке (я так понял она называется hint ) находится не поверх указателя, а ростянута на четверть карты , и занимает верхний левый угол (на фото указал). 

Обновление Конструктора карт: Импорт

$
0
0

Сегодня в Конструкторе карт появился импорт и несколько других полезных возможностей, о которых мы расскажем ниже.

Добавление объектов на карту из внешних файлов

Раньше нанести объекты на карту можно было только вручную, поэтому создание карты с большим объемом данных, например для отображения всех филиалов торговой сети, было достаточно трудоемкой задачей. Мы добавили возможность импортировать объекты на карту из KML, GPX, GeoJSON, XLSX и CSV.
Подробная информация о всех форматах есть в разделе Помощи сервиса. Также, там доступны шаблоны, которые помогут правильно описать метки в файлах XLSX и CSV.

Импортировать на одну карту можно до 10 000 объектов, но важно помнить, что импорт разрешен только на карты, где ещё нет объектов.

Благодаря импорту, можно перенести карту из одного профиля в другой: экспортируйте карту-оригинал в формате KML (в нем сохранится максимум данных) и импортируйте в новый профиль.

Публикуйте примеры своих карт в комментариях и делитесь впечатлениями об импорте — ждем ваших отзывов!

Установка меток по точным координатам

Теперь при поиске в Конструкторе метка ставится точно по введенным координатам. Для текстовых поисковых запросов всё осталось как раньше — метка попадет в геометрический центр найденного объекта.

В этом обновлении появилась возможность скачивать файлы экспорта и карты для печати на своё устройство, минуя Яндекс.Диск. 

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

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

Стилизация пунктов

$
0
0

Здравствуйте!
Стилизовал вот так вот чекбоксы в выборке объектов на карте, но почему то после нажатия разом пропадают все объекты и потом сколько не жми не появляются до перезагрузки браузера соответственно. Вот примеры когда html:

            <input type='checkbox' id='red' class="animate" checked="true">
            <label for="red" class="red">Студии звукозаписи</label>
            <input type='checkbox' id='green' class="animate" checked="true">
            <label for="green" class="green">Репетиционные базы</label>
            <input type='checkbox' id='yellow' class="animate" checked="true">
            <label for="yellow" class="yellow">Музыкальные магазины</label>

И пример css:

.animate {
    transition: all 0.1s;
    -webkit-transition: all 0.1s;
}

input[type=checkbox] {
    display: none;
}

input[type=checkbox]+label {
    display: inline-block;
    position: relative;
    padding: 10px 40px;
    margin: 0px 10px 10px 0px;
    float: left;
    border-radius: 10px;
    font-size: 25px;
    color: #FFF;
    text-decoration: none;
}

label.red {
    background-color: #ff0000;
    border-bottom: 5px solid #BD3E31;
    text-shadow: 0px -2px #BD3E31;
}

label.green {
    background-color: #82BF56;
    border-bottom: 5px solid #669644;
    text-shadow: 0px -2px #669644;
}

label.yellow {
    background-color: #F2CF66;
    border-bottom: 5px solid #D1B358;
    text-shadow: 0px -2px #D1B358;
}

input[type=checkbox]:checked+label {
    transform: translate(0px, 5px);
    -webkit-transform: translate(0px, 5px);
    border-bottom: 1px solid;
}


Получение расстояние и времени до ближайшего метро

$
0
0

Здравствуйте уважаемые разработчики,

Столкнулся с проблемой которую никак не могу решить. 
Хочу сделать подсчет ближайшего метро (кол-во задается) от определенной координаты. За основу взял вот этот пример:
https://tech.yandex.ru/maps/jsbox/2.1/multiroute_data_access/

1. Добавил получение ближайшего метро
2. Прокладка пешего маршрута от исходной координаты.

Мой скрипт находит метро, прокладывает к ним маршруты, но я не могу вывести расстояние и необходимое время для каждого маршрута. Скрипт только выводит последний несколько раз. Вот все выложил на Fiddle 

https://jsfiddle.net/Selection/5gbk0sgh/9/

Помогите пожалуйста

Событие удаления вершины ломанной

$
0
0

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

Собственно как мне можно отследить удаления вершины на ломанной?
И ещё вопрос: иногда, нижеописанный код не ловит изменения ломанной, хотя если повторить действия ещё раз, то событие уже срабатывает. В чём может быть проблема?

myPolyline.editor.events.add(["edgedragend", "vertexdragend", "vertexadd"], function(event){ ... })

Миграция с objectManager -> loadingManager

$
0
0

Мы до какого-то времени использовали objectManager для карт.

Но количество меток растет и загрузка карты начинает тупить. Вообщем решили использовать loadingManager.

У нас в базе хранятся координаты типа широта и долгота (lat, long). 

Для loadingManager решили использовать загрузку со splitRequests = false с tileBounds

Номера тайлов получаю так

zoom = window.nedroMap.getZoom();
coords = go.geometry.coordinates;
globalPixelCoordinates = window.nedroMap.options.get('projection').toGlobalPixels(coords, zoom);
      tileNumber = [Math.floor(globalPixelCoordinates[0] / 256), Math.floor(globalPixelCoordinates[1] / 256)];

Дальше мне нужно tileNumber для каждого гео-объекта записать в базу. Но zoom ведь тоже нужно как-то корректно получить. Как вот для каждого объекта определить подходящйи зум ? 

Или может есть хорошие практики и я вообще все неверно делаю. Нужна вообщем помощь.

Спасибо.


Отображение разных меток с учетом значения

$
0
0

Добрый день!

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

Допустим имеется поле  'meta_key' => 'vibor', 'value' =>  array('Первое', 'Второе)'.

на  карте отображены метки с балунами и сылками на посты . Вот часть кода отвечающая за вывод

$content = "<script type='text/javascript'>
            ymaps.ready(function () {
                              myMap = new ymaps.Map('yam-$idmap', {
                    center: [55.819543, 37.611619],
                    zoom: 12,
                    controls: ['zoomControl','typeSelector','fullscreenControl']
                }),
                clusterer = new ymaps.Clusterer(),
                geoObjects = [];
                
                // Создаем экземпляр класса ymaps.control.SearchControl
                mySearchControl = new ymaps.control.SearchControl({
                    options: {
                        provider:'yandex#search' 
                    }
                });
                myMap.controls.add(mySearchControl);
                          ";
    
            foreach($posts as $k=>$post){
                $thumbnail = (has_post_thumbnail( $post->ID ))? get_the_post_thumbnail($post->ID,'thumbnail'): '';
                $content .= 'geoObjects['.$k.'] = new ymaps.Placemark('
                        . '['.implode(',',unserialize($post->coords)).'], '
                        . '{
                            balloonContentBody: [\'<p><b>'.$post->post_title.'</b></p><p>'.$thumbnail.yam_excerpt($post).'</p>\'].join(\'\'),
                            clusterCaption: \''.$post->post_title.'\'
                            }, {preset: \'islands#glyphIcon\', iconGlyphColor: \'green\', iconColor: \'green\'}),
                               ';
            }
            
            $content .= "

            clusterer.options.set({
                gridSize: 80,
                clusterDisableClickZoom: false
            });

            clusterer.add(geoObjects);
            myMap.geoObjects.add(clusterer);

            myMap.setBounds(clusterer.getBounds(), {
                checkZoomRange: true
            });
        });
        </script>
        <div id='yam-$idmap' class='yam-map'></div>";
    
    return $content;

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

Хотябы в общих чертах. Если будет пример, еще лучше.

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

Определение области, в которую войдут все точки на карте

$
0
0

У меня есть код для версии карт 1.1:

var points = new Array();
$.each(coords, function(k,v){
    points.push(new YMaps.GeoPoint(v.lat, v.lng));
}
var bounds = new YMaps.GeoCollectionBounds(points);
xmap.setCenter(bounds.getCenter(), bounds.getMapZoom(xmap)); 

Смысл этого кода в том, что есть набор меток с заданными координатами. Отображается такая область карты, чтобы влазили все точки и ничего лишнего (с заданным зумом).

Каким образом можно сделать аналогичное в последней версии API карт? Смотрел util.bounds, но пока не понятно, это то или не то. Заранее спасибо за ответы.

свой макет iconContentLayout

$
0
0

Добрый день.

Есть objectManager, кластеризатор со своими иконками, но почему то не отображается кол-во точек, вошедшик в кластер. Шаблон iconContentLayout задан. Код здесь - https://jsfiddle.net/r2prk693/ 

1) Подскажите почему цифры в кластере не отобоажаются?

2) Почему iconLayout не получается задать при создании ObjectManager (строка 29)?

3) Большая ли разница в производительности objectManager если использовать SVG (несложные формы) вместо растровых картинок?

Не работает определение размера контента у баллуна

$
0
0

Привет!

- заходим в пример из песочницы - https://tech.yandex.ru/maps/jsbox/2.1/balloon_autopan

- правим шаблон баллуна: описываем options.contentLayout как $[[options.contentLayout observeSize maxWidth=500 maxHeight=1000]]

- открываем баллун

- нажимаем "задать содержимое баллуна"

- контент вылезает за пределы баллуна: http://prntscr.com/fdchtv

Это норма?

Ожидается, что если контент не влезает по ширине в указанные 500px, то баллун растянется по высоте (максимум в 1000px)

Задать ID геометке

$
0
0

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

Опишу задачу.

Я хочу сделать так чтобы по клику на геометку, у меня уходил запрос моему php скрипту. И в ответ возварщался json с данными(которые мы подтягиваем из  БД)  по тому объекту, на который я кликнул.

Что я делаю.

Вешаю на каждую метку событие "клик". По этому клику выполняется аякс запрос который на вход принимает id объекта а на выход выдает json с данными из бд.

for(var i = 0, length = points.length; i < length; i++) {
geoObjects[i].events.add('click', function () {
    // аякс запрос
});

}

И все бы было гладко. За исключением одного! На вход аякс запросу нам надо передавать id объекта (чтобы он по нужному id потом вернул нам нужный json). И вся проблема свелась к тому, что я не понимаю, как подтянуть id-шники из БД и задать их в качестве атрибута,  каждой из геометок, чтобы потом по этому id получить данные из БД.

В итоге вопрос такой. Как задать html атрибут геометке? 

Viewing all 7380 articles
Browse latest View live


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