Клуб API Карт

Найдено на тему «yandex api»:
Googlebot не хочет дружить с yandex maps api
clinicportal
27 августа 2017, 23:18

Всем привет!

Есть следующий вопрос, наверняка, многие с этим сталкивались. Имеется сайт, который в данный момент использует yandex maps API 2.0. Вебсайт сделали responsive. Но googlebot не хочет признавать его responsive, потому что google test mobile friendly (https://search.google.com/test/mobile-friendly) не может загрузить полный контент страницы. Соотв-но, он фэйлит тест. В причинах googlebot ссылается именно на файлы api-maps.yandex.ru, доступ к которым заблокирован в yandex maps api robots.txt. Скриншот:

googlebot фэйлит загрузку сайта, на котором используется yandex maps api 2.0.

Получается, что мы не можем сделать так, чтобы google признал сайт оптимизированным для мобильных устройств, если на нем используются яндекс карты. Поможет ли миграция на 2.1 версию API? Или как можно обойти такую существенную проблему?

Большое спасибо!

4 комментария
yandex api
Как убрать значки мест с карты (магазины, музеи и т.д.)?
rarescrap
3 августа 2017, 09:16

Я не хочу, чтобы на моей карте пользователь мог получить информацию о каком либо месте. Как я могу отключить значки этих мест?

Вот про эти значки идет речь:

6 комментариев
yandex api
Ближайшие станции метро
m.lagodin@almaconsult.ru
21 апреля 2017, 14:47

Добрый день.

Подскажите, пожалуйста, какие параметры задать в get-запросе для получения по координатам названия самой ближайшей станции метро и расстояния до нее?

Пример запроса: https://geocode-maps.yandex.ru/1.x/?geocode=30.331393,59.943419&kind=metro

Спасибо!

1 комментарий
метро,yandex api
Список городов в маршруте
Andrew
18 марта 2017, 16:34

Предположим имееется маршрут из точки А в точку Б, требуется получить список городов попадающих в этот маршрут. Как это можно реализовать?

1 комментарий
yandex api,yandex,API yandex,maps,maps.yandex.ru
Выбор точки на карте (Яндекс)
Жуковский Павел
29 сентября 2016, 16:31

Добрый день. Нужен функционал, позволяющий самому кликнуть на карт яндекса и установить там балун + получить координаты. Также нужна возможность перетаскивать этот балун.

Есть ли примеры реализации? В документации нашёл только такой вариантhttps://tech.yandex.ru/maps/jsbox/2.1/dragger

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

1 комментарий
yandex api,dragger,map
Открытие балуна на мобильных устройствах
Удалённый пользователь
29 сентября 2016, 13:15

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

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
</head>
<body>
<div id="map_json" style="display: none">[{"price":"0","tarifs_type":"2","srok_dostavki":"4-5","pickup_place":"\u0415\u043a\u0430\u0442\u0435\u0440\u0438\u043d\u0431\u0443\u0440\u0433 (\u0410\u043c\u0443\u043d\u0434\u0441\u0435\u043d\u0430)","pickup_places_type_name":"\u0410","address":"\u0443\u043b. \u0410\u043c\u0443\u043d\u0434\u0441\u0435\u043d\u0430, \u0434. 65","proezd_info":"\u0422\u0426  \u041a\u0418\u0422  1 \u044d\u0442\u0430\u0436 - \u043d\u0430\u043f\u0440\u043e\u0442\u0438\u0432 \u0433\u0438\u043f\u0435\u0440\u043c\u0430\u0440\u043a\u0435\u0442\u0430 \u0420\u0410\u0419\u0422","phone":"8-343-247-81-11","worktime":"\u043f\u043d - \u043f\u0442: 10.00 - 18.00","comission_percent":"1.5","is_terminal":"0","to_city_code":"497183","pickup_place_code":"474570","delivery_partner":{},"partner":{},"is_basic":"1","obl_km_pay":"0","latitude":"56.7868666","longitude":"60.5672618"},{"price":"0","tarifs_type":"2","srok_dostavki":"4-5","pickup_place":"\u0415\u043a\u0430\u0442\u0435\u0440\u0438\u043d\u0431\u0443\u0440\u0433 (\u041c\u0430\u043b\u044b\u0448\u0435\u0432\u0430)","pickup_places_type_name":"\u0410","address":"\u0443\u043b. \u041c\u0430\u043b\u044b\u0448\u0435\u0432\u0430, \u0434.53","proezd_info":"\u0422\u0426   \u0410\u043d\u0442\u0435\u0439   1 \u044d\u0442\u0430\u0436 - \u043d\u0430\u043f\u0440\u043e\u0442\u0438\u0432  \u041f\u0435\u0440\u0435\u043a\u0440\u0435\u0441\u0442\u043e\u043a ","phone":"8-343-247-81-11","worktime":"\u043f\u043d - \u043f\u0442: 9.00 - 18.00","comission_percent":"1.5","is_terminal":"0","to_city_code":"497183","pickup_place_code":"766233","delivery_partner":{},"partner":{},"is_basic":"1","obl_km_pay":"0","latitude":"56.8366997","longitude":"60.625145"},{"price":"0","tarifs_type":"2","srok_dostavki":"4-5","pickup_place":"\u0415\u043a\u0430\u0442\u0435\u0440\u0438\u043d\u0431\u0443\u0440\u0433 \u041f\u0412\u0417 \u043d\u0430 \u041b\u0435\u043d\u0438\u043d\u0430","pickup_places_type_name":"\u0410","address":"\u043f\u0440-\u043a\u0442 \u041b\u0435\u043d\u0438\u043d\u0430, \u0434. 101","proezd_info":" \u041f\u0440\u043e\u0435\u0437\u0434 \u0434\u043e \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438   \u0423\u0440\u0430\u043b\u044c\u0441\u043a\u0438\u0439 \u0444\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0438\u0442\u0435\u0442  : - \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u043d\u044b\u0435 \u0442\u0430\u043a\u0441\u0438: \u2116 034, 029, 050, 030, 054, 040, 022; - \u0430\u0432\u0442\u043e\u0431\u0443\u0441\u044b: \u2116 60, 28, 50, 54, 27, 28, 61, 10, 157, 5, 8; - \u0442\u0440\u0430\u043c\u0432\u0430\u0438: \u2116 23, 32, 18, 4, 22, 15, 13, 8, 26. \u0412\u043e\u0439\u0442\u0438 \u0432\u043e \u0434\u0432\u043e\u0440 \u043f\u0440-\u043a\u0442 \u041b\u0435\u043d\u0438\u043d\u0430 101 (\u0432 \u044d\u0442\u043e\u043c \u0434\u043e\u043c\u0435: \u0411\u0430\u043d\u043a \u0412\u0422\u041124,\u041b\u0435\u0442\u0443\u0430\u043b\u044c,\u041f\u043e\u043b\u044c \u0411\u0435\u0439\u043a\u0435\u0440\u0438), \u043f\u0440\u043e\u0439\u0442\u0438 \u043f\u043e\u0434 \u0432\u044b\u0432\u0435\u0441\u043a\u0443   \u043f\u0443\u043d\u043a\u0442 \u0432\u044b\u0434\u0430\u0447\u0438 \u0437\u0430\u043a\u0430\u0437\u043e\u0432 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442-\u043c\u0430\u0433\u0430\u0437\u0438\u043d\u043e\u0432   \u0441\u0442\u0435\u043a\u043b\u044f\u043d\u043d\u0430\u044f \u0434\u0432\u0435\u0440\u044c, \u0446\u043e\u043a\u043e\u043b\u044c\u043d\u044b\u0439 \u044d\u0442\u0430\u0436. ","phone":"+7(343)287-3-284","worktime":"\u041f\u043d-\u041f\u0442 10:00-21:00","comission_percent":"1.5","is_terminal":"0","to_city_code":"497183","pickup_place_code":"740531","delivery_partner":{},"partner":{},"is_basic":"1","obl_km_pay":"0","latitude":"56.8396463","longitude":"60.6134245"}]</div>
<div id="map" style="height:500px; widht: 700px; margin-bottom: 20px"></div>
<script src="https://api-maps.yandex.ru/2.1/?lang=ru_RU" type="text/javascript"> </script>
<script>
    function yMapsPickup() {
        ymaps.ready(function () {
            var arPickup =  $.parseJSON($('#map_json').text());
            var myGeocoder = ymaps.geocode('Екатеринбург');
            myGeocoder.then(
                    function (res) {
                        var firstGeoObject = res.geoObjects.get(0);
                        var myMap = new ymaps.Map('map', {
                            center: firstGeoObject.geometry.getCoordinates(),
                            zoom: 10,
                            controls: ["zoomControl"]
                        });
                        myMap.behaviors.disable('scrollZoom');
                        var myGeoObjects = [];
                        $.each(arPickup, function(key ,row){
                            if(row.price == undefined){
                                row.price = 0;
                            }
                            myGeoObjects[key] = new ymaps.GeoObject({
                                geometry: {
                                    type: "Point",
                                    coordinates: [row.latitude, row.longitude]
                                },
                                properties: {
                                    balloonContentHeader: 'инфа',
                                    balloonContentBody: '<h4> '+row.pickup_place+'</h4>'+
                                    '<b>Адрес:</b> '+row.address+'<br>'+
                                    '<b>Проезд:</b> '+row.proezd_info+'<br>'+
                                    '<b>Тел.:</b> '+row.phone+'<br>'+
                                    '<b>Режим работы.:</b> '+row.worktime+'<br>'+
                                    '<b>Срок доставки:</b> '+row.srok_dostavki+'<br>'+
                                    '<b>Цена:</b> '+row.price+'<br>'
                                }
                            });
                        });
                        var myClusterer = new ymaps.Clusterer();
                        myClusterer.add(myGeoObjects);
                        myMap.geoObjects.add(myClusterer);
                    },
                    function (err) {
                        console.log('error');
                    }
            );

        })
    }
    $(function () {
        yMapsPickup();
    });
</script>
</body>
</html>

maps,yandex api
geolocation на Мобильном устройстве и Desktop
Илья Зеленский
13 сентября 2016, 13:33

Добрый день!
Использую API Yandex Maps 2.0 для определения геопозиции пользователя.
Для определения координат, города и региона использую функцию

var geolocation = ymaps.geolocation;

Из данного объекта получаю:

alert(geolocation.region +' '+ geolocation.city +' '+ geolocation.latitude +' '+ geolocation.longitude);

Сегодня обнаружил странное поведение:

Любой Desktop браузер возвращает, в моем случае, "Самарская область Тольятти 51,255 52,333" (на координаты не обращайте внимания они из головы - факт в том что они возвращаются)

Любой Mobile браузер возвращает, в моем случае, "undefind undefind 51,255 52,333"

В итоге: на любом мобильном устройстве на geolocation.region и geolocation.city возвращает undefind, но координаты определяет правильно. На desktop проблем вообще нет.

В чем может быть проблема?

geolocation api,yandex api,API 2.0
yandex api route
Удалённый пользователь
11 сентября 2016, 16:59

В общем вопрос такого плана: есть инпуты из них с помощью жса вытаскиваются из знаячения и по идее помещаются в наверное в функцию ymaps.route

  <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, route, start, end;
    

       function init(){     
           myMap = new ymaps.Map ("map", {
            center: [47.0105, 28.8638],
            zoom: 12,
            controls: ['zoomControl', 'typeSelector',
                       'geolocationControl', 'trafficControl',
                       'fullscreenControl'] 
        });

      order_adress_from.onblur = function() {
      	start = this.value; 
    	}; 

 		 	order_adress_to.onblur = function() {
      	end = this.value; 
    	}; 
      ymaps.route([start, end,
      ]).then(
          function (route) {
            route && myMap.geoObjects.remove(route);
            myMap.geoObjects.add(route);

          },
          function (error) {
              alert("Возникла ошибка: " + error.message);
          });
    }
  
 </script>

Выдает такую ошибку: Uncaught TypeError: Cannot read property 'type' of undefined

Если же пишу переменные с квадратными скобками, пишет что не может построить пути

      ymaps.route([ [start], [end],
      ]).then(
          function (route) {
            route && myMap.geoObjects.remove(route);
            myMap.geoObjects.add(route);

          },
          function (error) {
              alert("Возникла ошибка: " + error.message);
          });
    }

1 комментарий
yandex api,route
Метки появляются только после драга (сдвига) карты на iphone safari :(
akubenov
23 августа 2016, 08:32

Добрый день! 

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

Тестируемое устройство / браузер: iphone 5s, safari

Как добавляю  объекты на карту:

1) ajax запрос -> получаем список точек

2) с помощью ObjectManager добавляем объекты на карту

Что было принято для решения проблемы:

1) Перезагружаем див с картой $('.map-container').hide().fadeIn('fast');

2) Немного сдвигаем центр карты после того, как карта инициализировалась, точки были добавлены на карту

Что имеем: точки не появляются не всегда, а в рандомном режиме :( 

Кто сталкивался с такого родом проблемой подскажите плз :)

Это баг api, так как в других браузерах отрабатывает правильно

2 комментария
yandex api,api,safari,баг,ObjectManager,geoObjects,bug,js