我需要在参数中传递一个坐标列表,并在 通过参数但我找不到方法。这是一个只有一对坐标(lat, lng)的例子。
function calculateRoute (platform) {
var router = platform.getRoutingService(null, 8),
routeRequestParams = {
routingMode: 'fast',
transportMode: 'truck',
origin: '36.87689,-2.44138',
destination: '36.69630,-4.47968',
via: '38.99112,-1.86902', //LIST HERE!!!
return: 'polyline'
};
router.calculateRoute(
routeRequestParams,
onSuccessRoute,
onError
);
}
我希望得到的网址是这样的:
https://router.hereapi.com/v8/routes?apikey=
{API_KEY}&routingMode=fast&transportMode=truck&origin=36.87689,-2.44138&via=38.99112,-1.86902&via=37.95862,-1.15538&destination=36.69630,-4.47968&return=polyline
正如你所看到的,在URL中,via是重复的。
非常感谢!我需要传递一个坐标列表。
对于Routing v8 API来说,JavaScript API并不支持多个路由航点,也就是说,它并不支持将一个坐标列表传递给Routing v8 API。via
参数。
所以你最好的办法是直接针对Routing v8 REST API,像follow一样,从响应中建立一条多线。
# Note: line breaks and spaces are for readability only (they need to be removed)
https://router.hereapi.com/v8/routes?
origin=52.550464,13.384223
&transportMode=car
&destination=52.477545,13.447395
&via=52.529791,13.401389
&via=52.513079,13.424392
&via=52.487581,13.425079
&apikey={YOUR_API_KEY}
或者,如果你知道你在做什么,你可以使用下面的技巧 将多个航点 "序列化 "到JS API中。
var routingParameters = {
'routingMode': 'fast',
'transportMode': 'car',
'origin': '50.1120,8.6834',
'destination': '52.5309,13.3846',
'via': '50.1234,8.7654&via=51.2234,9.1123',
'return': 'polyline'
};
不知道是否对你有帮助,但是. .
function calculateRouteFromAtoB (platform) {
var router = platform.getRoutingService(),
routeRequestParams = {
mode: 'fastest;car',
representation: 'display',
routeattributes : 'waypoints,summary,shape,legs',
maneuverattributes: 'direction,action',
waypoint0: '55.7520,37.6175',
waypoint1: '55.8941,37.4439',
waypoint2: '55.7982,37.9680'
};
router.calculateRoute(
routeRequestParams,
onSuccess,
onError
);
}
我的作品。