android - 谷歌地图 API : how can I get the departure platforms for public transport?

标签 android google-maps

我想在我的 Android 应用中显示公共(public)交通(例如火车)的出发站台。

由于使用谷歌地图网站向我显示了火车从哪些平台出发,因此数据可用,但我尚未设法从 DirectionsResult 对象中检索此数据。

有人知道怎么做吗?

更新: 尝试使用 postman 检索数据会产生以下对象,正如您所看到的,没有火车步骤的出发平台数据,而这些数据可在谷歌地图网站或应用程序本身中找到。

{
"geocoded_waypoints": [
    {
        "geocoder_status": "OK",
        "place_id": "ChIJeblWZV1vxkcRbk1MYz1wjbg",
        "types": [
            "bus_station",
            "establishment",
            "point_of_interest",
            "train_station",
            "transit_station"
        ]
    },
    {
        "geocoder_status": "OK",
        "place_id": "ChIJIxbYDbcJxkcRQtHfOo0b58o",
        "types": [
            "bus_station",
            "establishment",
            "point_of_interest",
            "subway_station",
            "train_station",
            "transit_station"
        ]
    }
],
"routes": [
    {
        "bounds": {
            "northeast": {
                "lat": 52.3793179,
                "lng": 5.1124581
            },
            "southwest": {
                "lat": 52.0894115,
                "lng": 4.8996663
            }
        },
        "copyrights": "Map data ©2019",
        "legs": [
            {
                "arrival_time": {
                    "text": "10:25am",
                    "time_zone": "Europe/Amsterdam",
                    "value": 1560846300
                },
                "departure_time": {
                    "text": "9:58am",
                    "time_zone": "Europe/Amsterdam",
                    "value": 1560844680
                },
                "distance": {
                    "text": "39.5 km",
                    "value": 39518
                },
                "duration": {
                    "text": "27 mins",
                    "value": 1620
                },
                "end_address": "Amsterdam Centraal, Stationsplein, 1012 AB Amsterdam, Netherlands",
                "end_location": {
                    "lat": 52.3781611,
                    "lng": 4.8998801
                },
                "start_address": "Utrecht Central Station, Stationshal 12 12, 3511 CE Utrecht, Netherlands",
                "start_location": {
                    "lat": 52.0894115,
                    "lng": 5.1124581
                },
                "steps": [
                    {
                        "distance": {
                            "text": "1 m",
                            "value": 0
                        },
                        "duration": {
                            "text": "1 min",
                            "value": 0
                        },
                        "end_location": {
                            "lat": 52.0894115,
                            "lng": 5.1124581
                        },
                        "html_instructions": "Walk to Utrecht Central Station",
                        "polyline": {
                            "points": "yu||H{oe^"
                        },
                        "start_location": {
                            "lat": 52.0894115,
                            "lng": 5.1124581
                        },
                        "steps": [
                            {
                                "distance": {
                                    "text": "1 m",
                                    "value": 0
                                },
                                "duration": {
                                    "text": "1 min",
                                    "value": 0
                                },
                                "end_location": {
                                    "lat": 52.0894115,
                                    "lng": 5.1124581
                                },
                                "polyline": {
                                    "points": "yu||H{oe^"
                                },
                                "start_location": {
                                    "lat": 52.0894115,
                                    "lng": 5.1124581
                                },
                                "travel_mode": "WALKING"
                            }
                        ],
                        "travel_mode": "WALKING"
                    },
                    {
                        "distance": {
                            "text": "39.5 km",
                            "value": 39518
                        },
                        "duration": {
                            "text": "27 mins",
                            "value": 1620
                        },
                        "end_location": {
                            "lat": 52.3792931,
                            "lng": 4.8996663
                        },
                        "html_instructions": "Train towards Alkmaar",
                        "polyline": {
                            "points": "ww||Hu{d^u@eDA@qb@td@eJz^ac@ry@ijEr}IouAltCeWlo@}PhYyQvQkQ`KmRdFo[|Bi^qA_oJ}dBmOaBiVHeZhG}VnNubEhkDusB~eBwuAhmA_fA|bAk\\t]waAx{@cWnOmT`Ii@Ru[lRaGXyF}BqGyKiTadA_L}MuYc@{]kMgJbBsGpH{Nhs@uGfw@O~i@cNvk@DB"
                        },
                        "start_location": {
                            "lat": 52.0897216,
                            "lng": 5.1092273
                        },
                        "transit_details": {
                            "arrival_stop": {
                                "location": {
                                    "lat": 52.3792931,
                                    "lng": 4.8996663
                                },
                                "name": "Amsterdam Centraal"
                            },
                            "arrival_time": {
                                "text": "10:25am",
                                "time_zone": "Europe/Amsterdam",
                                "value": 1560846300
                            },
                            "departure_stop": {
                                "location": {
                                    "lat": 52.0897216,
                                    "lng": 5.1092273
                                },
                                "name": "Utrecht Central Station"
                            },
                            "departure_time": {
                                "text": "9:58am",
                                "time_zone": "Europe/Amsterdam",
                                "value": 1560844680
                            },
                            "headsign": "Alkmaar",
                            "line": {
                                "agencies": [
                                    {
                                        "name": "NS",
                                        "phone": "011 31 30 751 5155",
                                        "url": "http://www.ns.nl/"
                                    }
                                ],
                                "name": "Alkmaar <-> Maastricht IC800",
                                "short_name": "Intercity",
                                "vehicle": {
                                    "icon": "//maps.gstatic.com/mapfiles/transit/iw2/6/rail2.png",
                                    "name": "Train",
                                    "type": "HEAVY_RAIL"
                                }
                            },
                            "num_stops": 2,
                            "trip_short_name": "828"
                        },
                        "travel_mode": "TRANSIT"
                    },
                    {
                        "distance": {
                            "text": "1 m",
                            "value": 0
                        },
                        "duration": {
                            "text": "1 min",
                            "value": 0
                        },
                        "end_location": {
                            "lat": 52.3781611,
                            "lng": 4.8998801
                        },
                        "html_instructions": "Walk to Amsterdam Centraal, Stationsplein, 1012 AB Amsterdam, Netherlands",
                        "polyline": {
                            "points": "obu~Hg_|\\"
                        },
                        "start_location": {
                            "lat": 52.3781611,
                            "lng": 4.8998801
                        },
                        "steps": [
                            {
                                "distance": {
                                    "text": "1 m",
                                    "value": 0
                                },
                                "duration": {
                                    "text": "1 min",
                                    "value": 0
                                },
                                "end_location": {
                                    "lat": 52.3781611,
                                    "lng": 4.8998801
                                },
                                "polyline": {
                                    "points": "obu~Hg_|\\"
                                },
                                "start_location": {
                                    "lat": 52.3781611,
                                    "lng": 4.8998801
                                },
                                "travel_mode": "WALKING"
                            }
                        ],
                        "travel_mode": "WALKING"
                    }
                ],
                "traffic_speed_entry": [],
                "via_waypoint": []
            }
        ],
        "overview_polyline": {
            "points": "yu||H{oe^}@dSu@eDsb@vd@eJz^ac@ry@y`H`sNeWlo@}PhYyQvQkQ`KmRdFo[|Bi^qA_oJ}dBmOaBiVHeZhG}VnNubEhkDusB~eBwuAhmA_fA|bAk\\t]waAx{@cWnOmT`Ii@Ru[lRaGXyF}BqGyKiTadA_L}MuYc@{]kMgJbBsGpH{Nhs@uGfw@O~i@cNvk@DB`Fi@"
        },
        "summary": "",
        "warnings": [
            "Walking directions are in beta. Use caution – This route may be missing sidewalks or pedestrian paths."
        ],
        "waypoint_order": []
    }
],
"status": "OK"

}

最佳答案

遗憾的是,目前无法通过 Directions API 获取此信息。 Google 问题跟踪器中有一个功能请求,要求添加 2016 年创建的登机平台信息:

https://issuetracker.google.com/issues/35829155

看来 Google 并未高度重视这项任务。请随时在 Google 问题跟踪器中为功能请求加注星标以添加您的投票。希望有一天 Google 能够实现它。

关于android - 谷歌地图 API : how can I get the departure platforms for public transport?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56450943/

相关文章:

Android ExpandableListActivity 和 SimpleCursorTreeAdapter?

java - 在 JavascriptObject 类中使用 native 方法

google-maps - 在 Google map V3 中显示没有 DirectionsRenderer 的路线

android - 如何在 React Native 中从 Json 获取数据后在 View 上显示数据

java - 如何在 Android 的 xml 中为字符串资源指定空值?

android - PhoneGap/Apache Cordova 是否为加密的 SQLite 数据库提出了一个 API

android - 基于更改并存储到 map 中的 DataSnapshot 出错

android - 获取用户位置并将其存储在 Android 变量中

android - onLocationChanged 尚未被调用

javascript - Google Maps API for JavaScript 在 StageWebView 中的 AIR Android 项目中使用时无法正常工作?