我正在实现一个包装器,该包装器从不同的地理空间/ GIS API提供者那里请求路线信息。输入始终是两个或更多航路点(纬度,经度对)。
我的目标不是进行公开基准测试或在不同服务提供商之间进行比较。问题是,它与Google地图,必应地图和此处地图配合得很好,但是从esri路线api请求路线需要花费很多时间。
对于所有提供商,我都尽力优化设置: -将请求的输出限制为几何,时间和距离 -仅使用默认的驾驶模式(例如汽车,没有实时信息...)
编辑:
下面的请求网址和响应时间(从欧洲柏林请求)。我多次执行了请求,即使在不同的日期,时间也几乎相同。座标始终是巴黎到布拉格。
ESRI :46.26秒(!)
https://route.arcgis.com/arcgis/rest/services/World/Route/NAServer/Route_World/solve?f=json&returnDirections=false&token=<my_api_token>&stops=2.3522,48.8566;14.4378,50.0755
BING :611毫秒
https://dev.virtualearth.net/REST/V1/Routes/Driving?key=<my_api_token>&ra=excludeItinerary,routePath&wp.1=48.8566,2.3522&wp.2=50.0755,14.4378
HERE :664毫秒
http://route.api.here.com/routing/7.2/calculateroute.json?xnlp=CL_JSMv3.0.17.0&app_id=<my_api_token>&mode=fastest%3Bcar&representation=display&waypoint0=geo!48.8566%2C2.3522&waypoint1=geo!50.0755%2C14.4378&jsoncallback=H.service.jsonp.handleResponse(5)
GOOGLE :92毫秒
https://maps.googleapis.com/maps/api/js/DirectionsService.Route?5m4&1m3&1m2&1d48.8566&2d2.352200000000039&5m4&1m3&1m2&1d50.0755&2d14.437800000000038&6e0&12sen-US&23e1&callback=_xdc_._95pqrj&key=<my_api_token>
&token=117312
有人经历过吗?我会错过任何步骤吗?
更新:请查看https://gis.stackexchange.com/questions/298955/esri-arcgis-routing-api-extremely-slow-compared-to-other-providers,以获取有关如何提高性能的更多信息。
答案 0 :(得分:0)
如果已经有了坐标,则无需遍历小部件,您可以使用API的RouteTask或直接使用REST API(API在后台使用)。 / p>
在ArcGIS API for JavaScript中使用RouteTask:
使用REST API: