Leaflet 如何缩放到cql_过滤器功能?

Leaflet 如何缩放到cql_过滤器功能?,leaflet,geoserver,wms,Leaflet,Geoserver,Wms,我正在使用geoserver。我编写以下代码 const mywms = L.tileLayer.wms("http://localhost:8080/geoserver/taj/wms", { layers: 'taj:country', format: 'image/png', CQL_FILTER: 'name=pana' transparent: true, opacity: 0.4, version: '1.1.0', attri

我正在使用geoserver。我编写以下代码

const mywms = L.tileLayer.wms("http://localhost:8080/geoserver/taj/wms", {
    layers: 'taj:country',
    format: 'image/png',
    CQL_FILTER: 'name=pana'
    transparent: true,
    opacity: 0.4,
    version: '1.1.0',
    attribution: "country layer"
});
一切都很好。该层将被过滤。但我需要选定的功能来完全放大。
我尝试使用此代码将mywms层居中<代码>map.fitBounds(mywms.GetBounds())。但它显示了错误
mywms.getBOunds不是函数
。有什么帮助吗?

正如评论中指出的,WMS请求包含请求中地图的边界框,因此将始终覆盖整个地图区域


要获得单个功能的范围,您需要在包含过滤器的情况下进行缩放,然后在返回该功能时缩放到该功能的范围。

非常感谢您的帮助。特别感谢先生,他帮助我找出了实际问题并找到了解决方案。wfs服务器的url如下所示

http://localhost:8080/geoserver/tajikistan/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=taj%3Acountry&maxFeatures=50&outputFormat=application%2Fjson
我编写以下代码以放大我的cql_过滤器区域:

//Geoserver Web Feature Service
$.ajax('http://localhost:8080/geoserver/wfs',{
  type: 'GET',
  data: {
      service: 'WFS',
      version: '1.1.0',
      request: 'GetFeature',
      typename: 'tajikistan:country',
      CQL_FILTER: "name_rg='Centre'",
      srsname: 'EPSG:4326',
      outputFormat: 'text/javascript',
      },
  dataType: 'jsonp',
  jsonpCallback:'callback:handleJson',
  jsonp:'format_options'
  });


function handleJson(data) {
    var requiredArea = L.geoJson(data).addTo(map);
    map.fitBounds(requiredArea.getBounds())
}

在该代码中,
CQL\u过滤器
用于过滤出所需区域。在我的例子中,数据的列名为
name\u rg
,属性为
center
。我使用此代码查询此区域。我使用ajax方法获取数据。我编写的代码有点棘手,因为常规ajax调用不会回调handleJson函数并返回
parseJson错误
。最后,我添加了名为
requiredArea
的变量。获取此区域的边界,设置所需区域的边界并添加到地图中。

平铺层没有边界。即使您已经过滤了WMS数据,图层仍然覆盖了整个世界。那么我如何才能缩放到选定的功能?你知道吗?你是说WFS request with
cql_filter
直接返回所选过滤区域的绑定框?不,它将返回一个几何图形的特征,你可以缩放到我的数据集中实际有100多个区域。我想使用cql_过滤器添加它们。我正在尝试以最大范围缩放选定的特征。可能吗?是的,获取返回(过滤)特征的几何图形并缩放到其延伸部分感谢您的建议。非常感谢。我根据这本指南做了一个决定。我无法
在我的服务器中启用\u jsonp
(我必须先启用\u jsonp,然后才能请求WFS)。请帮我找出解决办法。