2015-09-10 51 views
0

我有一個應用程序,其中包含建築物的所有ID。當我在應用程序中單擊該ID時,它會將ID發送到我的openlayers應用程序。在我的openlayers應用程序中,我有一個用於構建的地圖圖層(WMS圖層)。放大OL3中的wms功能

我需要的是當我點擊ID打開OL並縮放到具體ID的特定建築物。

任何人都可以建議我怎麼能做到這一點?我無法向我的OL應用程序發送座標,因爲我的其他應用程序具有MySql作爲數據庫,並且它沒有座標字段。在這種情況下唯一的共同屬性是建立id(在我的其他應用程序和OL應用程序中)。

AJ

回答

0

不幸的是,你從WMS基於ID着請求的功能,你需要知道,爲了做一個GetFeatureInfo請求(如果服務器允許此操作)功能的位置。

您是否創建了WMS服務或從哪裏提供服務?是否有可能爲其他服務(如WFS)提供服務?這將允許您通過id查詢功能。

WFS參考 http://www.opengeospatial.org/standards/wfs

在這種情況下,查詢buildingID = A層時BB21你可以把你的要求如下:

http://yourhost/geoserver/wfs?service=wfs&version=1.0.0&request=getfeature&typename=topp:buildings&PROPERTYNAME=id&CQL_FILTER=id='bb21' 
+0

我創建從形狀文件中的WMS層。我想我也可以將圖層加載爲WFS,但我還沒有檢查過該選項。你能指出如何使用WFS層實現這一點嗎? :) –

+0

你使用geoserver?在這種情況下請閱讀: http://docs.geoserver.org/2.7.0/user/services/wfs/reference.html#getfeature 如果您可以提供store/layer/attribute-info我可以構造一個查詢你 – tjenarre

+0

哦,是的,我忘了提。我正在使用geoserver 2.7.1 –