首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Google Maps API如何在路线上添加当前交通状况

Google Maps API如何在路线上添加当前交通状况
EN

Stack Overflow用户
提问于 2015-04-10 04:58:39
回答 1查看 936关注 0票数 2

任何帮助都是很好的,提前谢谢你。

我有显示主路由和备用路线的代码,但是我试图显示该路线的交通状况,例如:

如果你去地图和方向,他们会在你的路线上显示红色或黄色的线条。这是由交通状况决定的。有没有办法在地图上显示交通状况?

我知道他们有一个交通状况服务,但它显示的是该地区的交通状况。我只需要路线上的交通状况。

我的代码

代码语言:javascript
复制
var lontLatObejct = sharedProperties.getString();           
        var myOptions = {
            zoom: 10,
            center: new google.maps.LatLng(lontLatObejct.strLocLatitude, lontLatObejct.strLocLongitude),
            mapTypeId: google.maps.MapTypeId.ROADMAP,
            mapTypeControl: false
        };
        var mapObject = new google.maps.Map(document.getElementById("divMap"), myOptions);

        var mapCanvas = document.getElementById('divMap');
        var start = document.getElementById('txtStartingAddress').value.toString();
        var end = document.getElementById('txtEndingAddress').value.toString();
        var request = {
            origin: start,
            destination: end,
            provideRouteAlternatives: true,
            travelMode: google.maps.DirectionsTravelMode.DRIVING,
            unitSystem: google.maps.UnitSystem.METRIC
        };


        directionsDisplay.setMap(mapObject);
        directionsDisplay.setPanel(document.getElementById("divDirectionsPanel"));

        directionsService.route(
            request,
            function (response, status) {
                if (status == google.maps.DirectionsStatus.OK) {
                    for (var i = 0, len = response.routes.length; i < len; i++) {                       
                        switch(i){
                            case 0:
                                new google.maps.DirectionsRenderer({
                                    map: mapObject,
                                    directions: response,
                                    routeIndex: i,
                                    draggable: true
                                });
                                break;                              
                            default:
                                new google.maps.DirectionsRenderer({
                                    map: mapObject,
                                    directions: response,
                                    routeIndex: i,
                                    draggable: true,
                                    polylineOptions: { strokeColor: '#666666', strokeWeight: 6, strokeOpacity: .7 },
                                    suppressMarkers: true,                              
                                });
                        }                       
                    }
                    directionsDisplay.setDirections(response);

                } else {

                }
            }
        );
EN

回答 1

Stack Overflow用户

发布于 2015-04-10 05:16:02

您唯一的选择是google.maps.TrafficLayer

代码语言:javascript
复制
var trafficLayer;

...

if (!trafficLayer || !trafficLayer.setMap) 
  trafficLayer = new google.maps.TrafficLayer();

if (status == google.maps.DirectionsStatus.OK) {
  trafficLayer.setMap(mapObject);
...
} else {
  trafficLayer.setMap(null);
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29548866

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档