2015-07-02 12 views
8

Я пытаюсь сделать запрос на свой Geoserver для извлечения функций рядом с краном пользователя на карте.Android-калькулятор для bbox для WMS getFeatureInfo

Image

Карта занимает все пространство. Поэтому я вычислил 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; 

, а ширина и высота берутся Belows:

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

в то время как Х и параметр Y вычисляются следующим образом:

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

где latLng - это точка, которая появилась в событии onMapClick (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 

Проблема заключается в том, что сервер всегда возвращает пустой ответ, даже если я знаю, что есть особенности там, потому что я могу увидеть пятна на карте. Что бы это могло быть?

Заранее спасибо.

+0

Спасибо за вопрос, и я также нахожу решение до сих пор, я не могу получить какое-либо решение. Как рассчитать BBOX из региона = mMap.getProjection(). GetVisibleRegion(). LatLngBounds? BBOX должен быть в minx, miny, maxx, maxy. Я также написал вопрос stackoverflow.com/questions/32391037/... Спасибо заранее. – AnanThDev

ответ

1

Он только пожелал добавить &buffer=10 (или другое число в соответствии с вашими потребностями) к запросу.

+0

Спасибо за вопрос, и я также нахожу решение до сих пор, я не могу получить какое-либо решение. Как рассчитать BBOX из региона = mMap.getProjection(). GetVisibleRegion(). LatLngBounds? BBOX должен быть в minx, miny, maxx, maxy. Я также добавил вопрос http://stackoverflow.com/questions/32391037/google-map-tile-provider-geoserver-and-wms/32392310#32392310 Спасибо заранее .. – AnanThDev