javascript - 利用 Google Maps API 中的铁路路线

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

我有一个具体要求,我必须在 map 中仅显示火车站而不是整个 map 。如何才能实现这一目标。?请找到我尝试过的以下代码。

<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>

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

最佳答案

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

关于javascript - 利用 Google Maps API 中的铁路路线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19635875/

相关文章:

python - Scrapy 获取超出范围的文本

javascript - 延迟加载不起作用,不显示图像?

ios - 1.6 版中弃用的 GMSMapView 方法

javascript - Node.js、socket.io 和 base64-to-image 不工作

javascript - ExtJs 6 的全局函数

css - 标题和主要位置的 div 问题

javascript - 如何在MarkerClusterer中实现OverlappingMarkerSpiderfier 'click'触发器

android - 在位置更改时将标记动画化到当前位置

javascript - Ajax 获取请求在使用 HTTPS 的 Safari 中不起作用

javascript - 知道单击了哪个按钮的方法-Angular 5