EN EN

Автоматическое определение местоположения и построение маршрута на Яндекс Карте

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

⬅️ Вернуться к статьям
Дата публикации AccelLoad
19 сентября 2022
Количество просмотров AccelLoad
4
Теги AccelLoad
Конструктор карт Яндекса
ymaps
JavaScript
JS
API
Автоматическое определение местоположения и построение маршрута на Яндекс Карте

<div id="map"></div>
<script src="https://api-maps.yandex.ru/2.1/?lang=ru_RU&apikey=ваш API-ключ с https://developer.tech.yandex.ru/keys/"></script>
<script>
    ymaps.ready(init);
    function init() {
        var geolocation = ymaps.geolocation,
        myMap = new ymaps.Map('map', {
            center: ,
            zoom: 
        }, {
            searchControlProvider: 'yandex#search'
        });
        myGeoObject2 = new ymaps.Placemark([], {
            balloonContent: "

Новосибирск,
с 09:00 до 21:00,
8 (383) 310-8-777

" }, { preset: 'islands#Icon', iconColor: '#ff0632' }); myMap.geoObjects.add(myGeoObject2); myGeoObject3 = new ymaps.Placemark([54.953783, 82.902580], { balloonContent: "

Новосибирск, C.Гвардейцев 47, к2, павильон 13,
с 09:00 до 20:00,
8 (383) 310-8-111

" }, { preset: 'islands#Icon', iconColor: '#ff0632' }); myMap.geoObjects.add(myGeoObject3); navigator.geolocation.getCurrentPosition( // Обработчик успшеного получения координат function (position) { myGeoObject = new ymaps.Placemark([ position.coords.latitude,position.coords.longitude], { balloonContent: 'Ваше местоположения', iconCaption: 'Ваше местоположения' }, { preset: 'islands#greenDotIconWithCaption', iconColor: 'red' }); myMap.geoObjects.add(myGeoObject); var myCollection = new ymaps.GeoObjectCollection(); myCollection.add(new ymaps.Placemark([])); myCollection.add(new ymaps.Placemark([54.953783, 82.902580])); var result = ymaps.geoQuery(myCollection); // rezults = ([],[54.953783, 82.902580]); // var result = ymaps.geoQuery(objects).addToMap(myMap); var closestObject = result.getClosestTo([ position.coords.latitude, position.coords.longitude]); console.log(closestObject); ymaps.route([ [ position.coords.latitude, position.coords.longitude], [closestObject.geometry._coordinates[0], closestObject.geometry._coordinates[1]] ], { mapStateAutoApply: true }).then(function (route) { var points = route.getWayPoints(); points.get(0).options.set('visible', false); points.get(1).options.set('visible', false); route.getPaths().options.set({ // в балуне выводим только информацию о времени движения с учетом пробок balloonContentBodyLayout: ymaps.templateLayoutFactory.createClass('$[properties.humanJamsTime]'), // можно выставить настройки графики маршруту strokeColor: '#59b210', opacity: 0.9 }); // добавляем маршрут на карту myMap.geoObjects.add(route); }); }, // Оработчик неудачного завершения получения коордиант function (error) {}, // Параметры { enableHighAccuracy : false, // Режим получения наиболее точных данных timeout : 10000, // Максиальное время ожидания ответа (в миллисекундах) maximumAge : 1000 // Максимальное время жизни полученных данных }); } </script>
Скролл вверх