在OpenLayers(最后稳定版)上使用BBOX策略,使用LEFT,BOTTOM,RIGHT,TOP参数顺序创建URL。
我需要以另一个顺序将请求发送到API REST。我试图替换Bounds.toBBOX()函数,但它似乎没有被调用。
另外,我已经检查了Github(策略和协议文件)中的openlayers代码,但是我找不到要格式化的URL在哪里
我尝试的最后一件事是替换新的OpenLayers.Protocol.HTTP构造函数上的params,但我不能替换bbox查询
更新
这是我在查询中使用的代码,用于转换投影坐标,创建边界的CLONE对象。我想BBOX策略无论如何都会进行.toBBOX()调用来创建查询字符串并在每次拖动地图后绑定到URL
var my_calculate_bounds = function (mapBounds) {
// Block
messages.wait (i18n.api_messages.waiting_for_response) ;
// Define mapBounds
if ( ! mapBounds) {
return ;
}
var center = mapBounds.getCenterLonLat ();
var dataWidth = mapBounds.getWidth () * this.ratio;
var dataHeight = mapBounds.getHeight () * this.ratio;
// left bottom right top
this.bounds = new OpenLayers.Bounds (
center.lon - (dataWidth / 2),
center.lat - (dataHeight / 2),
center.lon + (dataWidth / 2),
center.lat + (dataHeight / 2)
);
this.bounds = this.bounds.clone().transform (
MAP.map.getProjectionObject(),
new OpenLayers.Projection ("EPSG:4326")
);
// Refresh zoom level protocol
MAP.protocol.params.zoomlevel = MAP.map.getZoom() ;
} ;