Яндекс карты

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

PAV
Сообщения: 968
Зарегистрирован: Пт дек 06, 2013 11:30 am
Откуда: Москва
Благодарил (а): 71 раз
Поблагодарили: 95 раз

Яндекс карты

Сообщение PAV » Чт сен 17, 2015 12:38 pm

Други, а никто яндекс карты не прикрутил к МЖД?
Так, чтобы утром показывал маршрут с пробками на карте?
GreatBAO
Сообщения: 119
Зарегистрирован: Пн авг 24, 2015 11:24 am
Откуда: Сочи
Благодарил (а): 4 раза
Поблагодарили: 14 раз

Re: Яндекс карты

Сообщение GreatBAO » Чт сен 17, 2015 2:51 pm

элементарно реализуется через API яндекса, читайте конструктор карт и получение яндекс API на их сайте
все реализуется стандартными средствами html + java

вот к примеру их родная документация
https://tech.yandex.ru/maps/doc/jsapi/1 ... c-docpage/
Аватара пользователя
slgeo
Сообщения: 551
Зарегистрирован: Чт фев 05, 2015 2:35 pm
Откуда: РнД
Благодарил (а): 139 раз
Поблагодарили: 74 раза

Re: Яндекс карты

Сообщение slgeo » Чт сен 17, 2015 3:58 pm

а где брать API Key на него? Писать в саппорт?
Raspberry Pi2 Model B + NRF24L01 (MySensors) + 1-Wire + Esp8266 (WiFi-IoT)
CONNECT
GreatBAO
Сообщения: 119
Зарегистрирован: Пн авг 24, 2015 11:24 am
Откуда: Сочи
Благодарил (а): 4 раза
Поблагодарили: 14 раз

Re: Яндекс карты

Сообщение GreatBAO » Чт сен 17, 2015 10:22 pm

мужики, ну научитесь уже пользоваться гуглом или яндексом, ну такие элементарные вопросы задаете просто жесть
https://yandex.ru/support/developer/#services
Аватара пользователя
slgeo
Сообщения: 551
Зарегистрирован: Чт фев 05, 2015 2:35 pm
Откуда: РнД
Благодарил (а): 139 раз
Поблагодарили: 74 раза

Re: Яндекс карты

Сообщение slgeo » Пт сен 18, 2015 10:17 am

Не нервничайте, не нашел сходу.
Пока удалось только вывести карту с API 1.1, с API 2.1 карта не отображается
Raspberry Pi2 Model B + NRF24L01 (MySensors) + 1-Wire + Esp8266 (WiFi-IoT)
CONNECT
PAV
Сообщения: 968
Зарегистрирован: Пт дек 06, 2013 11:30 am
Откуда: Москва
Благодарил (а): 71 раз
Поблагодарили: 95 раз

Re: Яндекс карты

Сообщение PAV » Пт сен 18, 2015 11:49 am

GreatBAO писал(а):мужики, ну научитесь уже пользоваться гуглом или яндексом, ну такие элементарные вопросы задаете просто жесть
https://yandex.ru/support/developer/#services
Вместо того, чтобы посылать... лучше бы пример привели и все встало бы на свои места.
Всю эту хрень изучать никакого времени не хватит. Изучили - поделитесь с народом. Если обратите внимание для этого и темы создаются и модули пишутся.
Для этого на форум и обращаемся, чтобы помощь получить, а не фразу RTFM - это вам не ixbt.

Есть тема Яндекс карты, умеете, вот воткните кусок кода, желательно с пояснениями и все счастливы будут.
А принцип "я протрахался, пусть все потрахаются" тут не канает.
Аватара пользователя
slgeo
Сообщения: 551
Зарегистрирован: Чт фев 05, 2015 2:35 pm
Откуда: РнД
Благодарил (а): 139 раз
Поблагодарили: 74 раза

Re: Яндекс карты

Сообщение slgeo » Пт сен 18, 2015 12:05 pm

Поделюсь промежуточным вариантом версии 1.1. Код вставляете в новую домашнюю страницу.
Вроде API-ключ не нужен.
СпойлерПоказать

Код: Выделить всё

 <head>
    <title>Яндекс.Пробки</title>
    <script src="https://api-maps.yandex.ru/1.1/?modules=traffic~router-editor"> </script>
      
 <script>
      YMaps.jQuery(function () {
            // создание карты
        var map = new YMaps.Map(YMaps.jQuery('#YMapsID')[0]),
        // создание элемента управления "Пробки"
        traffic = new YMaps.Traffic.Control();
 
        // инициализация карты, (долгота, широта, масштаб)
        map.setCenter(new YMaps.GeoPoint(39.75,47.26), 12);
     
        // добавление элемента управления "Пробки" на карту
        map.addControl(traffic);
        // включение показа пробок
        traffic.show();
        traffic.setOptions({ showInfoSwitcher: true });
        traffic.setState({ infoLayerShown: true });
     
        var zoom = new YMaps.SmallZoom({ smooth : true });
        //Добавление элемента управления на карту
        map.addControl(zoom);   
  
       // Создание экземпляров модели и редактора.
        var routerModel = new YMaps.RouterEditor.RouterModel();
        var editor = new YMaps.RouterEditor.DragAndDropEditor(routerModel);
       // Размещение редактора на карте.
        map.addControl(editor);
       // Включение режима добавления точек маршрута кликом по карте.
       editor.startDrawing(); 
      });
    </script>
  </head>
  <body>
    <div id="YMapsID" style="width: 800px; height: 600px;"></div>
  </body>
Последний раз редактировалось slgeo Пт сен 18, 2015 1:25 pm, всего редактировалось 1 раз.
Raspberry Pi2 Model B + NRF24L01 (MySensors) + 1-Wire + Esp8266 (WiFi-IoT)
CONNECT
PAV
Сообщения: 968
Зарегистрирован: Пт дек 06, 2013 11:30 am
Откуда: Москва
Благодарил (а): 71 раз
Поблагодарили: 95 раз

Re: Яндекс карты

Сообщение PAV » Пт сен 18, 2015 12:13 pm

А где задать координаты старт финиш, чтобы сразу маршрут показала
Аватара пользователя
slgeo
Сообщения: 551
Зарегистрирован: Чт фев 05, 2015 2:35 pm
Откуда: РнД
Благодарил (а): 139 раз
Поблагодарили: 74 раза

Re: Яндекс карты

Сообщение slgeo » Пт сен 18, 2015 1:16 pm

О, вроде получилось.

Код: Выделить всё

map.addOverlay(new YMaps.Router(['Курская', 'Парк культуры'])); 
Вместо 'Курская' и 'Парк Культуры' ставим свои точки.
Строим маршрут на https://maps.yandex.ru, берем из редактора получившиеся значения и подставляем в метод.

А вот так мы получаем отмасштабированный маршрут с учетом пробок:

Код: Выделить всё

  map.addOverlay(new YMaps.Router(['Курская', 'Парк культуры'],[1],
            {viewAutoApply: true, avoidTrafficJams: true}));
 
Raspberry Pi2 Model B + NRF24L01 (MySensors) + 1-Wire + Esp8266 (WiFi-IoT)
CONNECT
PAV
Сообщения: 968
Зарегистрирован: Пт дек 06, 2013 11:30 am
Откуда: Москва
Благодарил (а): 71 раз
Поблагодарили: 95 раз

Re: Яндекс карты

Сообщение PAV » Пт сен 18, 2015 3:59 pm

Всеж пришлось разбираться, блин.
Мне вот так понравилось, чтобы совсем маршрут не перекрывал цвет:
Было бы отлично сделать, как в яндекс навигаторе, чтобы маршрут рисовался линией цветом дороги
Единственное, как поменять цвет текста в баллонах и как поменять цвет текста вывода дистанции и времени в пути и время в пути из секунд в минуты перевести ;)
СпойлерПоказать

Код: Выделить всё

<head>
    <title>Яндекс.Пробки</title>
    <script src="https://api-maps.yandex.ru/1.1/?modules=traffic~router-editor"> </script>
      
 <script>
      YMaps.jQuery(function () {
            // создание карты
        var map = new YMaps.Map(YMaps.jQuery('#YMapsID')[0]),
        // создание элемента управления "Пробки"
        traffic = new YMaps.Traffic.Control();
 
        // инициализация карты, (долгота, широта, масштаб)
        map.setCenter(new YMaps.GeoPoint(35.569953,55.690562), 12);
     
        // добавление элемента управления "Пробки" на карту
        map.addControl(traffic);
        // включение показа пробок
        traffic.show();
        //traffic.setOptions({ showInfoSwitcher: true });
        traffic.setState({ infoLayerShown: true });
     
        var zoom = new YMaps.SmallZoom({ smooth : true });
        //Добавление элемента управления на карту
        map.addControl(zoom);   
  
       // Создание экземпляров модели и редактора.
        var routerModel = new YMaps.RouterEditor.RouterModel();
        var editor = new YMaps.RouterEditor.DragAndDropEditor(routerModel);
       // Размещение редактора на карте.
        map.addControl(editor);
       // Включение режима добавления точек маршрута кликом по карте.
  
   var router = new YMaps.Router(
        [new YMaps.GeoPoint(35.468757, 55.667107), new YMaps.GeoPoint(35.651421, 55.726289)], // Список точек
         // Здесь задаем индексы транзитных точек (точек, через которые мы хотим проехать без остановки) в массиве points
        { viewAutoApply: true, avoidTrafficJams: true } // Эта опция позволяет автоматически выставлять центр и коэффициент масштабирования карты
    ),
    style = new YMaps.Style(); // Стиль для меток и линий маршрутизатора
        style.lineStyle = new YMaps.LineStyle(); // Задаем стиль линии
        style.lineStyle.strokeWidth = 7; // Ширина линии
        style.lineStyle.strokeColor = '30405080'; // Цвет линии в формате RGBA
    router.setStyle(style); // Применяем стиль к маршруту

    map.addOverlay(router); // Добавляем маршрут на карту
// По событию успешного построения маршрута зададим подписи точкам маршрута

YMaps.Events.observe(router, router.Events.Success, function () {
    // Задаем содержание меток для начальной и конечной точек.
    // Транзитные точки на карте не отмечаются и не возвращаются методом getWayPoint
    router.getWayPoint(0).setIconContent('Home');
    router.getWayPoint(1).setIconContent('Work');
});
    
    
routerModel.getRouteProvider().route({
        wayPoints: [new YMaps.GeoPoint(35.468757, 55.667107), new YMaps.GeoPoint(35.651421, 55.726289)],
        
    },
    function (rr) {
        // Вспомогательный класс для обработки ответа маршрутизатора.
        helper = new YMaps.RouterEditor.RouterResultHelper(rr);
        // Вывод протяженности построенного маршрута.
        YMaps.jQuery('body').append( 'Протяженность маршрута ~ '
            + YMaps.humanDistance(helper.getDistance()) );
          YMaps.jQuery('body').append( 'Время в пути ~ '
            + YMaps.humanDistance(helper.getDuration()) );
  
    }
);    
    
       editor.startDrawing(); 
 
      });
      
      
      
    </script>
  </head>
  <body>
    <div id="YMapsID" style="width: 800px; height: 600px;"></div>
  </body>
За это сообщение автора PAV поблагодарил:
Bolik.Stav (Пт сен 18, 2015 9:44 pm)
Рейтинг: 1.16%
Ответить