【发布时间】:2013-11-21 00:19:37
【问题描述】:
我遇到了一个问题,即我从 Google Maps API (V3) 返回了 414 (Request-URI Too Large) 状态,这基本上意味着我的 GET 请求中的查询字符串太长。问题是,这个 GET 请求是由DirectionsService route function 自动创建的,所以我不太确定我是否可以通过其他方式做到这一点。有问题的代码:
//Setup a request object
var request = {
origin: p1, //Point 1
destination: p2, //Point 2
optimizeWaypoints: true,
travelMode: google.maps.TravelMode.DRIVING
};
//If we're editing a route that has been previously saved to file
if(editing !== false){
//Specify the waypoints
request.waypoints = routePoints;
}
directionsService.route(request, function(response, status) {
//Etc.
});
在另一个问题上,我遵循了这种将先前保存的航点附加到来自this answer 的请求对象的方法。基本上,request.waypoints 应该是包含地图上点的对象数组。然而,在更长的路线上,这个数组有时会增长到 200+ 点,这显然解释了我得到的 414 代码。
【问题讨论】:
-
你能发个 jsfiddle 什么的吗?
-
你想做什么?渲染路线?或者你想要的只是绘制一条折线?
-
@sabotero 基本上重新渲染之前保存的路线。
-
但是你是什么人类可读的指示(如果我可以这样称呼的话)还是只有地图上的路线没有这个指南?
-
@sabotero 不,文字说明对我来说毫无价值。基本上,用户可以在地图上绘制一条路线,拖动它以满足他们的需要,然后保存它。稍后,我可以渲染方向。但是,我无法重新渲染他们通过拖动方向所做的任何更改。
标签: javascript google-maps google-maps-api-3