Задать вопрос
@vottakoinick

Почему при использовании google.maps.Polyline ломается рендеринг на карте?

Вот по этому примеру делаю
https://stackoverflow.com/questions/9311498/change...

Вот скрины, на певом всё нормально две точки начало и конец. На втором ставлю 3 точку промежуточную и рендеринг пути происходит только от 2 до 3 точки.
Если же не использовать такие настройки:
polylineOptionsActual = new google.maps.Polyline({
	    	    strokeColor: '#0225FE',
	    	    strokeOpacity: 1.0,
	    	    strokeWeight: 3
	    	    });

то с обычным стилем пути всё отрисовывается правильно.
61a4d008391ea845308938.jpeg
61a4d04422805012010431.jpeg

Вот мой код:
window.directions = [];
window.polylineOptionsActual = new google.maps.Polyline({
    strokeColor: '#0225FE',
    strokeOpacity: 1.0,
    strokeWeight: 3
});

function draw_directions(map) {
    window.directions.forEach((direction) => {
        direction.setMap(null);
    });
    var waypts = [];

    for (var i = 0; i < routeDots.length; i++) {
        waypts.push({
            location: {
                lat: routeDots[i].position.lat(),
                lng: routeDots[i].position.lng()
            },
            stopover: true
        });
    }

    var latStart = startMarker.position.lat();
    var LngStart = startMarker.position.lng();
    var latEnd = endMarker.position.lat();
    var LngEnd = endMarker.position.lng();

    var request = {
        origin: new google.maps.LatLng(latStart, LngStart), //точка старта
        destination: new google.maps.LatLng(latEnd, LngEnd), //точка финиша
        waypoints: waypts,
        optimizeWaypoints: true,
        travelMode: google.maps.DirectionsTravelMode.WALKING //режим прокладки маршрута
    };

    const directionsService = new google.maps.DirectionsService;
    const directionsDisplay = new google.maps.DirectionsRenderer({
        polylineOptions: polylineOptionsActual,
        preserveViewport: true,
        suppressMarkers: true
    });

    directionsService.route(request, function(response, status) {
        if (status == google.maps.DirectionsStatus.OK) {
            directionsDisplay.setDirections(response);
        }
    });
    directionsDisplay.setMap(map);
    window.directions.push(directionsDisplay);
}
  • Вопрос задан
  • 58 просмотров
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы