Клуб API Карт

октябрь 2016
Как отключить скроллинг карты в редакторе полигона
gid-l
1 октября 2016, 16:42

Добрый день.

Использую API 2.1. На карту добавляю полигон и после введения его в режим редактирования polygon.editor.startDrawing(); сама карта начинает автоматически скролиться при подводе курсора к краю карты.

Как можно отключить такое поведение карты?

Спасибо.

8 комментариев
Не получается добавить Placemark на карту с местоположением пользователя
masalexy
3 октября 2016, 08:09

Добрый день! Совсем не силен в программировании, поэтому прошу помочь - как правильно добавить в этом коде Placemark, в этом варианте точка не отображается на карте и, к тому же, точно знаю, что в этом коде у Placemark не кликабельны hint и balloon :

ymaps.ready(function () {
    var map;
    ymaps.geolocation.get().then(function (res) {
        var mapContainer = $('#map'),
            bounds = res.geoObjects.get(0).properties.get('boundedBy'),
            // Рассчитываем видимую область для текущей положения пользователя.
            mapState = ymaps.util.bounds.getCenterAndZoom(
                bounds,
                [mapContainer.width(), mapContainer.height()]
            );
        createMap(mapState);
    }, function (e) {
        // Если место положение невозможно получить, то просто создаем карту.
        createMap({
            center: [55.751574, 37.573856],
            zoom: 2
        });
    });
    
    function createMap (state) {
        map = new ymaps.Map('map', state);
    };
    myPlacemark = new ymaps.Placemark([55.58943620149783,37.74108430701791], {},  {
            // Опции.
            // Необходимо указать данный тип макета.
            hintContent: 'Значок',
            balloonContent: '<a href=http://xn--80acebhtb4ckdkm8cwh.xn--p1ai/wp-content/uploads/2016/10/image-min-3.png>Значок<a>',
            iconLayout: 'default#image',
            // Своё изображение иконки метки.
            iconImageHref: 'http://zavoligas.ru/wp-content/uploads/2016/06/logo-ring.png',
            // Размеры метки.
            iconImageSize: [30, 30],
            iconImageOffset: [-13, 5]
        });

    myMap.geoObjects.add(myPlacemark);
});

Заранее, благодарен!

6 комментариев
Открываются метки в новом окне(мобильная версия)
prcsol
3 октября 2016, 11:06

Здравствуйте. Через "поделиться" скопировал и вставил код на сайт с запросом в яндекс.карты "школы" 

при просмотре с ПК все отображается корректно, размер,метки и т.д ( и дополнительное описание при нажатии на метку)

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

Как сделать, чтобы при нажатии на метку с моб.устройства так же откывало доп. информацию о метке,без переадресации, как на ПК ?

7 комментариев
Метки,содержимое метки,объекты
Указать начальный пункт расчета доставки
memory.liker
3 октября 2016, 15:13

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

Использую форму из песочницы расчета стоимости доставки.
Как нужно поправить скрипт, чтобы задать конкретное место точки А (Россия, Республика Татарстан, Нижнекамск), а не просто подсказку?

2 комментария
расчет стоимости доставки
Интересный запрос
Дмитрий Храмухин
3 октября 2016, 22:12

Добрый вечер уважаемые пользователи!

Долго думал и ломал голову, уже все ссылки поокрывал включая helpяндекс, но так и ничего не нашел. Решил заняться плотно с директом. И назрел лично для меня громадный вопрос. 

Когда пользователь забивает слово или фразу в поиске, яндекс выдает стандартный набор сайтов и "ссылки на них", так вот, яндекс учитывает геолокацию задающего человека или же нет??? Т.е. Например задающий располагается в москве, и яндекс выдает ему запрос по москве? или по всей России? 

Если по всей России, это еще можно понять, так как логически нужно ему понять где этот запросник задал вопрос, или же яндекс запрашивает местонахождение и только потом выдает ему сайты?

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

Например запрос отделка квартир или же отделка квартир в москве, мне лично показывает одни и те же ссылки на сайты, означает что яндекс сразу меня калибрует и знает что я с Москвы? но елси это так то для чего расширенный поиск включает геотаргетинг если он сразу показывает мне именно те сайты приблеженно которые находятся там где я и произвожу вопрос

Нет комментариев
проблемы с YMapsML и кластеризацией
info@createseo.ru
4 октября 2016, 00:30

При загрузке данных через xml коректно отображаются только одиночные точки на карте...Метки попадающие в кластер не отображаются...Почему шаблон из XML не подключяется в кластере???

1 - пример загрузки xml

<script type="text/javascript">
                        ymaps.ready(init); 
                        function init () {
                            var myMap = new ymaps.Map('map', {
                                center: [<?=$coords[1] . ', ' . $coords[0]?>],
                                zoom: 12,
                                controls: ["zoomControl", "fullscreenControl"]
                            });

                            clusterer = new ymaps.Clusterer();
                            clusterer.options.set({
                                gridSize: 100,
                                disableClickZoom: true,
                                groupByCoordinates: true,
                                minClusterSize:2,
                                synchAdd:true
                            });

                            var result = [];   
                            ymaps.geoXml.load('<?=PROTOCOL . DOMAIN_CURRENT ?>/map/?category=1323&cachdid=<?=  rand(0, 100000)?>')
                                .then(function (res) {
                                    res.geoObjects.each(function (geoObject) {
                                        result.push(geoObject);
                                    });
                                    clusterer.add(result);
                                }, function (error) {
                                        console.log(error);
                                        alert('При загрузке YMapsML-файла произошла ошибка: ' + error);
                                }); 


                            myMap.geoObjects.add(clusterer);
                            myMap.setBounds(clusterer.getBounds(), {
                                checkZoomRange: true
                            });
                        }
                    </script>  

2 - Кусок код XML

<?xml version="1.0" encoding="UTF-8"?><ymaps:ymaps xmlns:ymaps="http://maps.yandex.ru/ymaps/1.x"
             xmlns:repr="http://maps.yandex.ru/representation/1.x"
             xmlns:gml="http://www.opengis.net/gml"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maps.yandex.ru/schemas/ymaps/1.x/ymaps.xsd">
     <repr:Representation>
         <repr:Style gml:id="item"> 
             <repr:balloonContentStyle>
                 <repr:template>#balloonTemplate</repr:template>
             </repr:balloonContentStyle> 
             <repr:clusterContentStyle>
                 <repr:template>#balloonTemplate</repr:template>
             </repr:clusterContentStyle> 
         </repr:Style> 
         <repr:Style gml:id="top"> 
            <repr:balloonContentStyle>
                <repr:template>#balloonTemplate2</repr:template>
            </repr:balloonContentStyle>
        </repr:Style> 
        <repr:Template gml:id="balloonTemplate">
            <repr:text><![CDATA[
                <div class="item">
                    <div class="container-fluid">  
                        <div class="name" data-id="$[metaDataProperty.AnyMetaData.id]"><a href="http://sankt-peterburg.questprice.ru$[metaDataProperty.AnyMetaData.link]">$[name]</a></div> 
                        <div class="top col-lg-12 col-md-12 col-sm-12 col-xs-12">
                            <img class="img-responsive" src="http://sankt-peterburg.questprice.ru$[metaDataProperty.AnyMetaData.image]"/>
                        </div>  
                        <div class="bottom col-lg-12 col-md-12 col-sm-12 col-xs-12"> 
                            <div class="number">Номер: $[metaDataProperty.AnyMetaData.id]</div>
                            <div class="org">Организатор: $[metaDataProperty.AnyMetaData.org|не задан]</div>
                            <div class="phone">Телефон: <a href="tel:$[metaDataProperty.AnyMetaData.phone]">$[metaDataProperty.AnyMetaData.phone|не задан]</a></div> 
                            <a class="btn btn-primary btn-xs detail" href="http://sankt-peterburg.questprice.ru$[metaDataProperty.AnyMetaData.link]">Бронировать</a>
                            <div class="address">Адрес: $[metaDataProperty.AnyMetaData.address]</div>
                        </div>  
                    </div>    
                </div>]]></repr:text>
        </repr:Template> 
    </repr:Representation>
    <ymaps:GeoObjectCollection>
        <gml:name>Все квесты в Москве</gml:name>
        <gml:featureMembers>
                            <ymaps:GeoObject>
                    <gml:name>Пятый элемент</gml:name>
                    <gml:metaDataProperty>
                        <ymaps:AnyMetaData>
                            <id>25978</id>
                            <image>/assets/images/gallery/25978/preview_kvest-pyatyy-e.jpg</image>
                            <address>Санкт-Петербург, Лиговский пр., 74, Лофт Проект ЭТАЖИ Соседи</address>
                            <phone>8(800)775-21-39</phone>
                            <org>Rabbit Hole</org>
                            <content>До всемирной катастрофы ос...</content>
                            <link>/kvesty1/pyatyy-e/</link>
                        </ymaps:AnyMetaData>
                    </gml:metaDataProperty>
                    <gml:Point>
                        <gml:pos>30.356526 59.92184</gml:pos>
                    </gml:Point> 
                    <ymaps:style>#item</ymaps:style>
                </ymaps:GeoObject>

1 комментарий
Общие границы полигонов
MaximVarz
4 октября 2016, 17:52

Ситуация такова:

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

есть потребность в изменении геометрии этих полигонов. Изменение области геометрии, неграничащей с другими полигонами  - не вызывает затруднений, а вот на общей границе- очень даже не просто ...

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

Буду премного благодарен, если укажите в каком направлении двигаться....

3 комментария
Polygon,полигон,полигоны
Загрузка данных из переменной.
Жуковский Павел
5 октября 2016, 09:44

Изучаю вот этот подход

https://tech.yandex.ru/maps/jsbox/2.1/object_manager_balloon_async

В примере данные загружаются из файла. У меня же данные динамические и надо их загружать из переменной.

Я пытаюсь сделать вот так

http://jsfiddle.net/qvwb7w6m/

но не работает.

1 комментарий
API yandex,API 2.1
Версия Yandex API
al-nov
5 октября 2016, 18:06

Уважаемый dimik!

Очень прошу помощи. Ранее уже обращался к Вам, но вопрос тогда так и не решил, сейчас опять к нему вернулся. Проблема с версией Yandex API. Вместо 2.1 работает 1.х. (как мне кажется). Проверил везде где можно было, прописано 2.1. Куда копать? Как точно определить какая версия используется? Возможно, и подключена 2.1... но 

ymaps.ready(function(){
        var map = new ymaps.Map("#kart", {
            center: [55.76, 37.64],
            zoom: 10
	
	
        });

не срабатывает. Тогда как

 YMaps.jQuery(function () {
	
        var maps = new YMaps.Map(YMaps.jQuery("#kart")[0]);
        maps.setCenter(new YMaps.GeoPoint(37.64, 55.76), 8);
})

работает корректно.

В документации прописано что jQuery в 2.1 не включается. Возможно из-за этого не работает?

2 комментария
Рассчитать расстояние между двумя парами координат
alexmak43.malinin
6 октября 2016, 09:20

Пытаюсь сделать простой пример

ymaps.route([59.94, 30.31],[59.956084, 30.356849]);
    
    var routeLength = route.getLength();
    
    alert (routeLength);

И не выдает ошибку и не работает. Подскажите, что не так.

13 комментариев
Собственный поиск
Иван
6 октября 2016, 11:31

Добрый день. Хочу сделать свой собственный поиск по объектам, но искать нужно не по объектам на карте, а по запросу к другому скрипту. Пишем текст - отправляем строку скрипту, скрипт возвращает ответ в JSON, мы этот ответ обрабатываем и выводим на карте и заполняем список результатов.

В песочнице есть пример поиска по своим объектам на карте: https://tech.yandex.ru/maps/jsbox/2.1/custom_search

Так же в песочнице есть собственное отображение результатов: https://tech.yandex.ru/maps/jsbox/2.1/custom_search_results

Однако в документации API (https://tech.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IGeocodeProvider-docpage/) не описана даже возможность создания своего собственного провайдера.

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

Кстати результаты лучше выводить через SuggestView, если надо темизировать их по-своему?

7 комментариев
SearchControl,CustomSearchProvider,поиск
Подскажите с ContextMenu
Дмитрий Фаринный
6 октября 2016, 12:52

Не выходит контекстное меню, хотя при этом событие нажатия "правой" клавиши мыши отлавливается. Не могу сообразить что делаю не так. Цель решения: загнать вывод контекстного меню и построение маршрута в ангуляровский контроллер.

Разбираю вот этот пример http://dimik.github.io/ymaps/examples/context-menu/

7 комментариев
Избегать построение маршрута по платным дорогам для карт на сайте.
Григорий
7 октября 2016, 00:08

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

Нет комментариев
Изменение масштаба при повторной загрузке карты
al-nov
7 октября 2016, 01:36

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

Карта с маршрутом открывается в модальном окне по нажатию кнопки. При закрытии окна и повторном нажатии кнопки масштаб становится минимальным (видно весь мир). 

Карту создаю с помощью:

 $("#modl").empty(); // очищаю контейнер, иначе карта дублируется
ymaps.ready(function(){
	   myMap = new ymaps.Map("modl", {
           center: [55.76, 37.64],
           zoom: 10,
	   controls: ["zoomControl", "trafficControl", 'typeSelector', 'rulerControl']
        });
	 });

Для маршрута прописываю mapStateAutoApply: true. 

Возможно надо как то убивать прежнюю карту и маршрут?

1 комментарий
getClosestTo() - как получить три ближайших объекта
xpaco
7 октября 2016, 09:56

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

Можно ли как то получить более чем один ближайший объект в GeoQueryResult.getClosestTo() ?

Спасибо, что помогаете.

4 комментария
GeoQueryResult,getClosestTo,Объекты
Как определить, что карта связана с элементом dom?
sp-kontoring
7 октября 2016, 11:25

Добрый день!

Как определить, связана ли уже карта с этим элементом dom, или еще нет?

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

1 комментарий
Изменение положения ZoomControl
zhukdl
7 октября 2016, 11:58

Добрый день.

Думаю, нашел небольшой баг :)

Играюсь на примере в песочнице, так что повторить легко.

Если делаю так

    firstButton = new ymaps.control.ZoomControl();

    map.controls.add(firstButton, {float: 'right'});

Ожидаю, что зум будет справа, однако он остается на месте.

Если передаю явные позиции (float: none + position) - то положение меняется.

Попробовал для других предопределенных элеменов

- TypeSelector - отрабатывает как ожидаю

- TrafficControl - тоже все хорошо

2 комментария
Сделать логичный поиск
west r.
7 октября 2016, 13:01

Сделайте логичный поиск.

Например захожу в яндекс карты.

Нужно найти вот эти станции м. Киевская, м. Смоленская, м. Студенческая 

Но! Яндекс при вводе всех трех станций показывает на карте только одну.

Приходится набирать по отделльности. Очень не удобно.

1 комментарий
Пользовательские метки
alexosip7
8 октября 2016, 16:48

Добрый день.

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

Уверен что где-то это описано, но найти не могу.

Заранее спасибо за ответ.

4 комментария
Изменить значок кластера при закрытии балуна
Krem-Ilia
10 октября 2016, 12:32

Всем привет.

Имеется карта с множеством объектов, часть из которых идут по одному адресу. Из-за чего возникает необходимость вот такого способа выбора меток: https://yandex.ru/blog/mapsapi/vybrat-obekt-pri-klike-vnutri-ballooncontent

Возник вопрос, есть ли возможность менять значок кластера при закрытии балуна (равно как и при смене объекта). Нашёл, что есть вот такое событие:

objectManager.events.add('balloonclose', event => {});

Однако event.get('target').getData().options там - пустой объект.

В 

objectManager.clusters.state.events.add('change', event => {});

я тоже не могу получить доступ к кластеру и его опциям.

Есть ли такая возможность?

7 комментариев
кластеризация,балун,события