2016-06-13 19 views
0

我有一个通过geoJson feed显示数据的地图 - 例如, http://catchingtherain.com/iwm/index.php#lat=51.56981465604131&lng=-1.7135238647460938&zoom=12从geoJson中提取Feed级别元数据以用作Leaflet消息框

饲料是基于BBOX但有限的服务器端200个结果(我有过GeoJSON的完全控制,因为它只是一个简单的PHP脚本是一种把Solr的响应)

我想显示当有超过200个结果可用时,在传单地图上显示消息“显示437项结果中的200项。请放大以查看完整的结果”。我可以提供这些计数通过以GeoJSON响应一些顶级的元数据单张,如

{ 
    type: "FeatureCollection", 
    metadata: { 
     count: 200, 
     totalCount: 427 
    }, 
    features: [ ... 

我的问题是,我怎么能提取我的宣传单码这两个值,附近的某处

iwmMemorials = L.geoJson(null, { 
    pointToLayer: function (feature, latlng) { 
    ... 

Sample feed - http://catchingtherain.com/iwm/data/iwm_memorials.php?bbox=-7.657470703124999,51.3546312303602,-0.472412109375,52.318553202553275

回答

1

做到这一点外部单张。我看你有没有那个看起来像一个功能:

$.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'); }