如何获得道路的地理坐标?

时间:2015-01-11 16:36:04

标签: google-maps maps openstreetmap here-api

我正在尝试沿着道路创建一条走廊。因此我需要某种坐标集。目前我正在申请一条路线并使用它的坐标。但是,如果存在长段,我会遇到问题,例如。在高速公路上200公里。如果我只是在进入高速公路时使用说明的位置并且在离开时,走廊可能会错过道路的某些部分,因为它可能不是直的。

所以我想做的是查询道路的“主要”道路坐标。现在,如果id需要ID或道路名称或任何坐标,则无关紧要。

我目前正在使用HERE地图,但如果有任何其他服务可以满足我的要求,我愿意审核并测试它。我还审查了google-maps api,但仍然没有找到服务或任何类似的方法。 提前谢谢。

1 个答案:

答案 0 :(得分:2)

如果我正确理解你的问题,你需要首先获得路线的完整几何,然后将结果修剪到你想要的坐标。

对于HERE 7.2 routing API6.2 Enterprise Routing API,如果您想获得路线的形状,只需要包含参数routeattributes=shape

e.g。

.../calculateroute.json?waypoint0=lat,lng&waypoint1=lat,lng&mode=fastest:car:traffic:Adefault&routeattributes=shape&app_id=YOR_APPID&app_code=YOUR_TOKEN

在没有设置shape枚举的情况下,通常不返回完整的几何(路线或接头)。

这在[{3}}中有解释,如下所示:

<强> routeAttributes

定义响应中包含哪些属性作为路径数据表示的一部分。默认为waypoints, summary,summaryByCountry legs, line s。另请参阅API User guide

枚举[waypoints | summary | summaryByCountry | shape | boundingBox | legs | notes]

API资源管理器中的RouteAttributeType返回:

[
"52.5160414,13.3782982",
"52.5163436,13.3782148",
"52.5162363,13.3783329",
"52.5162148,13.3786547",
"52.5162792,13.3795774",
"52.5163651,13.3808541",
"52.5165153,13.3807898",
"52.516644,13.3807361",
"52.5169337,13.3806503",
"52.5181997,13.3804357",
"52.5189185,13.380264",
"52.5189829,13.3811975",
"52.5191653,13.3820879",
"52.5197446,13.3840835",
"52.5201201,13.3851671",
"52.5203025,13.3855319",
"52.52056,13.3859825",
"52.5206485,13.3861105"
],  ... etc.

在回复中。