Я работаю над проблемой маршрутизации транспортных средств. Недавно я потратил немного времени на использование API Карт Google, чтобы узнать, могу ли я печатать несколько маршрутов на одной карте. Я бы хотел: Route1: точка a, b, c, a маршрут 2 точка a, d, e, f, a маршрут 3 точка a, g, h, a и я хотел бы, чтобы каждый маршрут имел другую цветную полилинию. Может кто-то помочь мне с этим.
Использование API Google Maps 3 для получения нескольких маршрутов на карте
Ответ 1
Да, это довольно просто, как только вы его повесили.
Вы хотите использовать объект directionRenderer.
Большое дело в том, что вы хотите, чтобы ваши маршруты были настроены в массиве, а затем вы хотите перебирать их через цикл. Каждый раз создавайте новый объектRenderer и каждый раз привязывайте его к карте. Внутри цикла вы также захотите создать новую переменную полилинии, которую вы каждый раз переходите к directionRenderer с различным цветом. Я использую код, который сделал это, но не знаю, где он находится в данный момент.
Вот пример того, кто использует разные цветовые полилинии.
http://www.geocodezip.com/violette_com_TestMap2c.html
Если вы сосредоточитесь на этих двух строках кода, вы увидите, как устанавливается цвет полилинии, а также как он передается в directionRenderer.
directionsDisplayActual = new google.maps.DirectionsRenderer({suppressMarkers: true, polylineOptions: polylineOptionsActual})
var polylineOptionsActual = {
strokeColor: '#FF0000',
strokeOpacity: 1.0,
strokeWeight: 10
};
Далее следуют пути для ваших маршрутов.
http://code.google.com/apis/maps/documentation/javascript/examples/directions-waypoints.html
Еще один хороший пример.
var request = {
origin: start,
destination: end,
waypoints: waypts,
optimizeWaypoints: true,
travelMode: google.maps.DirectionsTravelMode.DRIVING
};
directionsService.route(request, function(response, status) {
Если вы сосредоточитесь на приведенном выше коде в приведенном примере Google, вы увидите waypts var. Вот где будет установлен ваш промежуточный маркер (как вы говорите, пункт b). Вы сделаете это, выполнив waypts.push(.....)
. Происхождение и пункт назначения будут вашей точкой a и точкой b.
Не должно быть слишком сложно ударить что-то вместе. Я бы предложил захватить пример Google, наиболее близкий к вашим потребностям, и перечеркнуть его до простого проекта, а затем построить его оттуда.