2013-09-26 40 views

Trả lời

38

Bạn có thể xác định màu sắc của dòng khi bạn tạo DirectionsRenderer, bằng cách sử dụng tùy chọn DirectionsRendererOptions struct.

này làm việc cho tôi, chỉ đơn giản là thay đổi dòng nơi đối tượng DirectionsRendered được tạo ra:

<!DOCTYPE html> 
<html> 
    <head> 
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no"> 
    <meta charset="utf-8"> 
    <title>Directions service</title> 
    <link href="https://google-developers.appspot.com/maps/documentation/javascript/examples/default.css" rel="stylesheet"> 
    <script src="https://maps.googleapis.com/maps/api/js?v=3"></script> 
    <script> 
var directionsDisplay; 
var directionsService = new google.maps.DirectionsService(); 
var map; 

function initialize() { 
    directionsDisplay = new google.maps.DirectionsRenderer({ 
    polylineOptions: { 
     strokeColor: "red" 
    } 
    }); 

    var mapOptions = { 
    zoom:7, 
    mapTypeId: google.maps.MapTypeId.ROADMAP, 
    center: {lat: 41.850033, lng: -87.6500523} 
    } 
    map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions); 
    directionsDisplay.setMap(map); 
} 

function calcRoute() { 
    var start = document.getElementById('start').value; 
    var end = document.getElementById('end').value; 
    var request = { 
     origin:start, 
     destination:end, 
     travelMode: google.maps.DirectionsTravelMode.DRIVING 
    }; 
    directionsService.route(request, function(response, status) { 
    if (status == google.maps.DirectionsStatus.OK) { 
     directionsDisplay.setDirections(response); 
    } 
    }); 
} 

google.maps.event.addDomListener(window, 'load', initialize); 
    </script> 
    </head> 
    <body> 
    <div id="panel"> 
    <b>Start: </b> 
    <select id="start" onchange="calcRoute();"> 
     <option value="chicago, il">Chicago</option> 
     <option value="st louis, mo">St Louis</option> 
     <option value="joplin, mo">Joplin, MO</option> 
     <option value="oklahoma city, ok">Oklahoma City</option> 
     <option value="amarillo, tx">Amarillo</option> 
     <option value="gallup, nm">Gallup, NM</option> 
     <option value="flagstaff, az">Flagstaff, AZ</option> 
     <option value="winona, az">Winona</option> 
     <option value="kingman, az">Kingman</option> 
     <option value="barstow, ca">Barstow</option> 
     <option value="san bernardino, ca">San Bernardino</option> 
     <option value="los angeles, ca">Los Angeles</option> 
    </select> 
    <b>End: </b> 
    <select id="end" onchange="calcRoute();"> 
     <option value="chicago, il">Chicago</option> 
     <option value="st louis, mo">St Louis</option> 
     <option value="joplin, mo">Joplin, MO</option> 
     <option value="oklahoma city, ok">Oklahoma City</option> 
     <option value="amarillo, tx">Amarillo</option> 
     <option value="gallup, nm">Gallup, NM</option> 
     <option value="flagstaff, az">Flagstaff, AZ</option> 
     <option value="winona, az">Winona</option> 
     <option value="kingman, az">Kingman</option> 
     <option value="barstow, ca">Barstow</option> 
     <option value="san bernardino, ca">San Bernardino</option> 
     <option value="los angeles, ca">Los Angeles</option> 
    </select> 
    </div> 
    <div id="map-canvas"></div> 
    </body> 
</html> 
+0

tôi có lỗi nói rằng dấu hai chấm sau polylineOptions là không mong muốn. Bạn có thể kiểm tra mã một lần nữa và đề nghị tôi một cái gì đó? – user2809895

+0

Làm việc cho tôi; Tôi sẽ cập nhật câu trả lời của mình bằng mã đầy đủ mà tôi đã sử dụng. Bạn có thể muốn thêm mã của mình vào câu hỏi của mình, trong trường hợp có lỗi cú pháp chúng tôi có thể phát hiện. – duncan

+0

thnq rất nhiều cho mã. Nó đang làm việc. – user2809895

5

bạn có thể thay đổi màu sắc bằng cách thay đổi màu đột quỵ :) đơn giản như vậy

directionsService = new google.maps.DirectionsService(); 
    directionsDisplay = new google.maps.DirectionsRenderer({ polylineOptions: { strokeColor: "#8b0013" } }); 
    directionsDisplay.setMap(map); 
    directionsDisplay.setOptions({ suppressMarkers: true }); 


     calcRoute(); 
+0

cách bao gồm " polylines (array) "và" polylineOptions "khi tạo bản đồ tĩnh? như: "https: //maps-api-ssl.google.com/maps/api/staticmap? ...." –

Các vấn đề liên quan