放大到 OL3 中的 wms 功能

zooming in to a wms feature in OL3

我有一个应用程序,其中包含建筑物的所有 ID。当我在我的应用程序中单击 id 时,它会将 id 发送到我的 openlayers 应用程序。在我的 openlayers 应用程序中,我有一个用于构建的地图层(WMS 层)。

我需要的是当我点击 id 时它会打开 OL 并缩放到具有 id 的特定建筑物。

任何人都可以建议我怎样才能做到这一点?我无法将坐标发送到我的 OL 应用程序,因为我的其他应用程序将 MySql 作为数据库并且它没有坐标字段。在这种情况下,唯一的公共属性是构建 ID(在我的其他应用程序和 OL 应用程序中)。

阿杰

遗憾的是,您无法根据 ID 从 WMS 请求要素,您需要知道要素的位置才能执行 getfeatureinfo 请求(如果服务器允许此操作)。

您是否创建了 WMS 服务或从哪里提供服务?您是否可以改为提供其他服务(如 WFS)?这将允许您通过 id 查询功能。

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

在这种情况下,当查询图层的 buildingID= bb21 时,您可以在请求中添加以下内容:

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