0

``在我的要求中,我有一组作为 json 对象传递给地图的路点。从这些航路点开始,开始和结束必须以字母显示,中间标记应以数字显示。我该如何实现这个场景?我还发现谷歌地图最多支持 8 个航点和一个起点和终点。有没有办法在我的地图上添加更多航点?我正在使用谷歌地图 DirectionsService 进行航点渲染。

我使用的代码是

  function calcRoute() {
    var start = wayPointArray[0];
    var end = wayPointArray[1];
    var waypts = [];

    for (var i = 2; i <= wayPointArray.length-1; i++) {
            waypts.push({
                location: wayPointArray[i],

                stopover: true
            });

    }
    var request = {
        origin: start,
        destination: end,
        waypoints: waypts,
        optimizeWaypoints: true,
        travelMode: google.maps.DirectionsTravelMode.DRIVING
    };
    directionsService.route(request, function (response, status) {
        if (status == google.maps.DirectionsStatus.OK) {
            directionsDisplay.setDirections(response);
        }
    });
}

function initialize() {
    directionsDisplay = new google.maps.DirectionsRenderer();
    var mapOptions = {
        zoom: 6,
        mapTypeId: google.maps.MapTypeId.ROADMAP,
        mapTypeControl: false
    }
    map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);
    directionsDisplay.setMap(map);
}

wayPontArray 包含航点的所有纬度和经度。第一个和第二个将分别是开始和结束,所有其他都是航点。开始和结束应该是字母,即 A 和 B。中间的航路点应该是数字。

在此先感谢博尼。

4

1 回答 1

0

如果您知道航点的坐标,则可以使用带有数字或字母的自定义标记作为标签,如下例所示

var marker = new google.maps.Marker({
    position: myLatlng, 
    map: map,
    icon: 'http://chart.apis.google.com/chart?chst=d_map_pin_letter&chld=A|FF0000|000000'
});   
于 2012-09-21T07:13:48.723 回答