我有一张通过geoJson Feed显示数据的地图 - 例如http://catchingtherain.com/iwm/index.php#lat=51.56981465604131&lng=-1.7135238647460938&zoom=12
Feed基于bbox,但服务器端限制为200个结果(我完全控制geoJson,因为它只是一个简单的php脚本,可以转换solr响应)
当有超过200个结果可用时,我想在传单地图上显示一条消息,例如“显示437项结果中的200项。请放大以查看完整的结果”。我可以通过geoJson响应中的一些顶级元数据向Leaflet提供这些计数,例如
{
type: "FeatureCollection",
metadata: {
count: 200,
totalCount: 427
},
features: [ ...
我的问题是,如何在我的Leaflet代码中提取这两个值,在
附近iwmMemorials = L.geoJson(null, {
pointToLayer: function (feature, latlng) {
...
答案 0 :(得分:1)
在Leaflet的外。我看到你有一个看起来像这样的函数:
$.getJSON(url, function (data) {
iwmMemorials.clearLayers();
iwmMemorials.addData(data);
map.addLayer(iwmMemorials);
if (refresh != 'true') {
map.fitBounds(iwmMemorials.getBounds(), {paddingTopLeft: [0,15], paddingBottomRight: [80,0]});
bbox = map.getBounds().toBBoxString();
console.info('IWM memorials bounds: '+bbox);
}
});
只需添加如下行:
if (data.features.length > 200) { alert('Too much stuff'); }