从Google Maps API利用铁路线

时间:2013-10-28 13:18:10

标签: javascript html google-maps google-maps-api-3

我有一个特定的要求,我必须在地图中只显示火车站而不是整个地图。如何实现这一目标。请找到我尝试过的以下代码。

<html>
    <head>
        <style type="text/css">
            html { height: 100% }
            body { height: 100%; margin: 0px; padding: 0px }
            #map_canvas { height: 100% }
        </style>
        <script type="text/javascript"
            src="http://maps.googleapis.com/maps/api/js?libraries=drawing&sensor=true">
        </script>
        <script type="text/javascript">
            function initialize() {
                // init map

                var myOptions = {
                    mapTypeId: google.maps.MapTypeId.ROADMAP
                };
                var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
                var drawingManager = new google.maps.drawing.DrawingManager();
                drawingManager.setMap(map);
                // init directions service
                var dirService = new google.maps.DirectionsService();
                var dirRenderer = new google.maps.DirectionsRenderer({suppressMarkers: true});
                dirRenderer.setMap(map);

                // highlight a street
                // highlight a street
                var request = {
                        origin: '',
                        destination: '',
                        travelMode: google.maps.TravelMode.TRANSIT
                    };

                dirService.route(request, function (response, status) {
                        if (status == google.maps.DirectionsStatus.OK) {
                            dirRenderer.setDirections(response);

                            var legs = response.routes[0].legs;
                            for (i = 0; i < legs.length; i++) {
                                var steps = legs[i].steps;
                                for (j = 0; j < steps.length; j++) {
                                    var transitMode = steps[j].travel_mode;

                                    if (transitMode == "TRANSIT") {
                                        var vehicle = steps[j].transit.line.vehicle.type;
                                        if (vehicle == "HEAVY_RAIL") {
                                            var nextSegment = steps[j].path;

                                            for (k = 0; k < nextSegment.length; k++) {
                                               // polyline.getPath().push(nextSegment[k]);
                                            }                            
                                        }
                                    }


                                }
                            }
                        }
                    });
            }
        </script>
    </head>
    <body onload="initialize()">
        <div id="map_canvas" style="width:100%; height:100%"></div>
    </body>
</html>

任何帮助将不胜感激..提前致谢..

2 个答案:

答案 0 :(得分:1)

我不明白你想要做什么,但对于这种特殊的映射,你可以依靠transit.js

答案 1 :(得分:0)

可能很难,因为: 这是&#34;铁路站&#34;?,平台?,Mark-on-rail?,Wickets ?, Master&#39; sRoom?,EntranceGate?

GoogleTransitService可能会显示WALK通过楼梯台进行转移。