krapan
8/29/2018 - 9:32 PM

Yandex.Maps routes with geo

строим маршруты для автомобиля или общественного транспорта через яндекс карты с фиксированной финишной точкой и определением геолокации пользователя (стартовая точка)

$(document).ready(function() {
    
	var kf_map = $('#route');
	var lat = kf_map.data('lat');
	var lng = kf_map.data('lng');
	
    function init(){ 
        // Создание карты.    
		var objectPosition = [lat, lng]
		
        var myMap = new ymaps.Map("cntmap", {
            center: objectPosition,
            zoom: 18,
			controls: [],
        });
		
		var myPlacemark = new ymaps.Placemark([lat, lng], {
			hintContent: 'г. Краснодар, Рашпилевская , 44.',
			balloonContent: 'г. Краснодар, Рашпилевская , 44.',
		});
            
		myMap.geoObjects.add(myPlacemark);

		
		$('.cs1_map_buttons button').click(function(){
			var btn = $(this);
			

			
			ymaps.geolocation.get({
				provider: 'browser',
				autoReverseGeocode: true
			}).then(function (result) {
				var userPosition = result.geoObjects.get(0).geometry.getCoordinates();
				//var userPosition = [45.149425, 39.044189];
				var routePoints = [userPosition, objectPosition];
				
				var mapRoute = new ymaps.multiRouter.MultiRoute({
					referencePoints: routePoints,
					params: {
						routingMode: btn.data('route'),
						results: 3
					}
				}, {
					boundsAutoApply: true
				});
				myMap.geoObjects.removeAll();
				myMap.geoObjects.add(mapRoute);
			});
		});
		
	
    }
	ymaps.ready(init);
});