【发布时间】:2018-06-27 21:34:21
【问题描述】:
我有一个应用程序,我在其中使用 mapbox.js 为某个位置加载底图图块。然后,用户可以从 WMS 服务器加载大小为 256X256 的 WMS 图块,这些图块会加载到底图之上。
我正在使用 mapbox 和传单显示地图如下:
window.map = L.map('map', { 'minZoom': minZoomLevel(), 'maxZoom': maxZoomLevel(), reuseTiles: true, unloadInvisibleTiles: true }).setView(["35.7804", "-78.6391"], 17)
然后我使用 Leaflet,向我的服务器发送请求,然后从那里向 WMS 服务器发送请求以使用以下方式加载图块:
wms = L.tileLayer.wms('/viewers/wms', {
minZoom: 12,
maxZoom: 25,
layers: 'some layer name',
format: 'image/png',
updateWhenIdle: false,
transparent: true,
reuseTiles: true,
showTheRasterReturned: true,
COVERAGE_CQL_FILTER: 'featureId=\'' + featureId + '\''
});
当请求到达我的服务器时,BBOX 属性由具有不同坐标的传单自动添加(我认为它正在占用完整的视口),即
Started GET
"/viewers/wms?SERVICE=WMS&REQUEST=GetMap&VERSION=1.1.1&LAYERS=some
layer
name&STYLES=&FORMAT=image%2Fpng&TRANSPARENT=true&HEIGHT=256&WIDTH=256&REUSETILES=true&SHOWTHERASTERRETURNED=true&COVERAGE_CQL_FILTER=featureId%3D%279d3a23cba90680cecda337a926f563a6%27&SRS=EPSG%3A3857&**BBOX=-8755402.967897227,4285977.050006404,-8755097.219784087,4286282.798119542**" for 127.0.0.1 at 2018-06-27 16:51:01 -0400
一个 BBOX 属性是由传单动态添加的,如下所示
BBOX=-8755402.967897227,4285977.050006404,-8755097.219784087,4286282.798119542"
虽然,我只想获取这些坐标的图块:
southWest ={lat: 35.77712238348847, lng: -78.64827990531921}
northEast {lat: 35.783693840245284, lng: -78.62991213798523}
在L.tileLayer.wms 中设置BBOX 选项也无济于事,因为BBOX 坐标是由传单添加的。
【问题讨论】: