在Google Map API中检索公交线路或地铁上的详细信息

时间:2016-06-14 12:23:51

标签: angularjs google-maps google-maps-api-3

我正在寻找像此网站这样的内容:WEBSITE GMAPS

目前我可以获得500米左右的所有东西,就好像它是一个公共汽车站或其他东西但我无法检索公交线路。

var mapControl = $scope.map.control.getGMap();
        service = new google.maps.places.PlacesService(mapControl);
        var transitLayer = new google.maps.TransitLayer();
        transitLayer.setMap(mapControl);
        var directionsService = new google.maps.DirectionsService();

        service.search(request, callback);

        function callback(results, status) {
            if (status == google.maps.places.PlacesServiceStatus.OK) {
                $scope.placesTransit = [];
                $scope.timeTotal = [];
                angular.forEach(results, function(result, key) {
                    var timeTotal;
                    directionsService.route(
                    {
                        origin: new google.maps.LatLng($scope.map.center.latitude, $scope.map.center.longitude),
                        destination: result.geometry.location,
                        travelMode: google.maps.DirectionsTravelMode.WALKING,
                        unitSystem: google.maps.UnitSystem.METRIC
                    }, function (response, status)
                    {
                        if (status == google.maps.DirectionsStatus.OK)
                        {

                            result.timeTotal = response.routes[0].legs[0].duration.text;
                            if (result.types[0] === "subway_station") {
                                result.typeTransport = "Métro";
                            }
                            console.log(result);
                            $scope.placesTransit.push(result);
                        }
                    });
                });
            }
        }

如果有人可以帮我怎么做: 显然,我可以在此page上检索此信息,但Google MAP API v3无法解决此问题。任何的想法 ?感谢

1 个答案:

答案 0 :(得分:0)

是的,谷歌有一个地方可以获得有关公共交通的信息。

首先,您需要检查您所在的城市是否受到支持:

然后,如果支持,您可以在此处获得更多信息:

要以编程方式访问它,您可以使用以下API:

我会选择第二个。

考虑到这一点,如果您要检查的公司已注册,您将能够轻松访问其所有公交路线(以及更多)。

如果公司未列出,则表示他们在您看到的地图上编码路径,您必须使用叠加层执行相同操作:

希望它有所帮助!