对,所以我目前在我的应用程序中使用 Google Directions API 来检索两个位置之间的路线。
当我发送路线指示请求时,我会在 JSON 中检索有关路线的许多详细信息,包括沿路线的每条道路的名称、它们对应的起点和终点经纬度坐标以及它们的折线值。
例如:如果我在两条道路之间发送请求http://maps.googleapis.com/maps/api/directions/json?origin=redfern+ave,+dublin&destination=limetree+ave,+dublin&sensor=false ,我会得到跟随 JSON 响应(沿路线的一条道路的输出)。
{
"distance" : {
"text" : "0.2 km",
"value" : 203
},
"duration" : {
"text" : "1 min",
"value" : 18
},
"end_location" : {
"lat" : 53.435250,
"lng" : -6.132140000000001
},
"html_instructions" : "Head \u003cb\u003eeast\u003c/b\u003e on \u003cb\u003eRedfern Ave.\u003c/b\u003e toward \u003cb\u003eMartello Court\u003c/b\u003e",
**"polyline" : {
"points" : "woceIvgmd@O}DOkDQqF"**
},
到目前为止,我的应用程序解析了这些信息,并在列表视图中简单地列出了道路和方向,如下所示:
我想做的是在地图上突出显示从 A 到 B 的整个路线,但是我在网上找不到任何有用的关于如何在新的 Google Maps API v2 上执行此操作的信息。我看到在 Google Maps v2 上使用折线而不是叠加来绘制线条,但是据我所知,它们只绘制对我没用的直线。是否有使用我掌握的信息(道路名称、起点和终点经纬度坐标、折线点)突出显示路线?任何帮助表示赞赏。
另外,我看到响应中有一个“折线”值,这可能很有用,但我不知道如何解析或使用这些信息。有谁知道我如何理解这个值来绘制折线?
**"polyline" : {
"points" : "woceIvgmd@O}DOkDQqF"**
编辑:我的解决方案代码在下面的答案中提供。