如何使用 HERE <Polyline /> 在 react-native-maps 中跟随道路 API

How to make <Polyline /> follow roads in react-native-maps with HERE API

我能够向 HERE API 发出请求并得到响应,我将所有 waypoints 从腿到一个数组(纬度和经度)并且它确实绘制了一条折线但是它不遵循道路。它只是穿过建筑物等

这是我的折线组件:

<Polyline coordinates={this.state.route} strokeWidth={7} strokeColor="#2ecc71" geodesic={true} />

this.state.route 是我得到的坐标数组:

axios.get(`https://route.api.here.com/routing/7.2/calculateroute.json?app_id={myappid}&app_code={myappcode}&waypoint0=geo!${from_lat},${from_long}&waypoint1=geo!${to_lat},${to_long}&mode=fastest;bicycle;traffic:disabled`).then((response) => {
      console.log(response.data.response.route);
      response.data.response.route[0].leg[0].maneuver.map((m) => {
        routeCoordinates.push({latitude: m.position.latitude, longitude: m.position.longitude});
      })
      console.log(routeCoordinates);
      this.props.navigation.navigate('ShowMap', {
        spot: chosenSpot,
        route: routeCoordinates,
      });  
    }).catch((error) => {
        console.log(error);
    })

然后我将这个数组传递到我的屏幕并将其置于我的状态 route

我希望它在道路上绘制多段线,而不是在建筑物和其他东西上。

这是一张图片,向您展示它的样子(请注意,蓝线只是覆盖道路名称,与绘制多段线无关):

请在计算路由剩余部分添加一个附加参数api: legAttributes=形状

然后其余 api 将 return 包含道路沿线点的形状对象。

https://route.api.here.com/routing/7.2/calculateroute.json?app_id={myappid}&app_code={myappcode}&waypoint0=geo!${from_lat},${from_long}&waypoint1=geo!${to_lat},${to_long}&mode=fastest;bicycle;traffic:disabled&legAttributes=shape

请参阅文档中的 legAttributes。 https://developer.here.com/documentation/routing/topics/resource-calculate-route.html