我目前正在製作一個使用OpenLayers並使用BBOX策略繪製的網站。可能會有很多點在數據庫中繪製。當OpenLayers發送BBOX座標時,我希望OpenLayers發送當前縮放級別。我將使用此縮放級別來決定是發送所有結果還是最近的10個條目。當OpenLayers發送BBOX信息時,OpenLayers是否可以將當前縮放級別返回給服務器?OpenLayers通過BBOX策略找出用戶的縮放級別
3
A
回答
2
不是默認情況下,但您可以覆蓋triggerRead函數並自己添加縮放級別。像這樣的東西(未經測試):
OpenLayers.Strategy.BBOX.prototype.triggerRead =
function() {
if (this.response) {
this.layer.protocol.abort(this.response);
this.layer.events.triggerEvent("loadend");
}
this.layer.events.triggerEvent("loadstart");
this.response = this.layer.protocol.read({
filter: this.createFilter(),
callback: this.merge,
scope: this,
params: {center: this.layer.getZoomForExtent()}
});
}
或者,當然只是用BBOX參數計算縮放比例。
+0
我只是計算了bbox中兩點之間的距離 – user669186 2011-05-04 10:15:50
0
我測試了這一點,它的工作原理:
//override BBOX strategy in order to pass zoom
OpenLayers.Strategy.BBOX.prototype.triggerRead =
function() {
if (this.response) {
this.layer.protocol.abort(this.response);
this.layer.events.triggerEvent("loadend");
}
this.layer.events.triggerEvent("loadstart");
this.response = this.layer.protocol.read({
filter: this.createFilter(),
callback: this.merge,
scope: this,
params: {zoom: this.layer.map.getZoom()}
});
}
相關問題
- 1. Openlayers bbox策略
- 2. 策略,根據用戶訪問級別
- 3. openlayers標記moveTo只在特定的縮放級別準確
- 4. openlayers 3 - 加載具有最高縮放級別tile的TileLayer,但在所有縮放級別都顯示
- 5. Openlayers:縮放WFS有時會返回到第一個縮放級別
- 6. 使用googlemaps api縮放超過21個縮放級別Android
- 7. MkMapView縮放級別
- 8. UIWebView縮放級別
- 9. OpenLayers刷新策略問題
- 10. 爲gwt-openlayers和openstreetmap設置縮放級別
- 11. 谷歌地圖v3與Openlayers - 第一個縮放級別
- 12. Openlayers 3:當縮放級別改變時更改向量圖層
- 13. Android MapView縮放級別不超過19?
- 14. 合理的縮放級別
- 15. OpenLayers:禁用縮放雙擊
- 16. 度量基於自動縮放策略
- 17. AWS自定義自動縮放策略
- 18. Android通過縮放級別(Google Maps V2)增加折線寬度
- 19. CodenameOne MapContainer縮放級別
- 20. iOS Webview縮放級別
- 21. amcharts地圖 - 在更新後保持用戶的縮放級別
- 22. 自動通知用戶策略
- 23. 基於級別/層級框架的策略
- 24. angular - openLayers:幾何縮放
- 25. OpenLayers縮放樣式GoogleMaps
- 26. openlayers pan縮放欄修改
- 27. OpenLayers 4縮放到集羣
- 28. MKMapView的縮放級別有上限嗎?
- 29. 更改高地圖的縮放級別
- 30. 設置MapView的最小縮放級別
你有我的建議有何迴應? – 2011-04-14 11:12:01