Android为WMS getFeatureInfo计算正确的bbox

我正在尝试向我的Geoserver发出请求,以便在地图上的用户点击附近检索function。

图片

地图占用了所有的空间。 所以我用这种方式计算了BBOX:

region = mMap.getProjection().getVisibleRegion().latLngBounds; double left = region.southwest.longitude; double top = region.northeast.latitude; double right = region.northeast.longitude; double bottom = region.southwest.latitude; 

宽度和高度如下:

 mMapFragment.getView().getWidth(); mMapFragment.getView().getHeight(); 

而X和Y参数按以下方式计算:

 Point click = mMap.getProjection().toScreenLocation(latLng); 

latLng是来自MapClick(LatLng)事件的点(参考https://developers.google.com/android/reference/com/google/android/gms/maps/GoogleMap.OnMapClickListener )。

我得到的结果URL是:

 http://localhost/geoserver/sindot/wms?service=WMS&request=GetFeatureInfo&info_format=application%2Fjson&version=1.1.1&srs=EPSG%3A3857&bbox=1222173.74033,5056403.44084,1222174.11356,5056403.7028&query_layers=sindot:verticale&layers=sindot:verticale&feature_count=3&styles=tabletb3lab&width=2048&height=1262&x=1441&y=503 

问题是服务器总是返回一个空的响应,即使我知道那里有function,因为我可以看到地图上的斑点。 会是什么呢?

提前致谢。

Solutions Collecting From Web of "Android为WMS getFeatureInfo计算正确的bbox"

它仅用于将&buffer=10 (或根据您的需要添加另一个数字)添加到请求中。