原始问题:
我正在使用将geoJSON数据加载到地图中Data Layer
,我想在地图键图标旁边的某处显示已加载的标记的数量。最好的方法是什么?有没有一种方法可以简单地获取数据层中的要素数量?
修订的问题:
我正在将多个数据层加载到变量(即memberLayer,trailLayer等)中,我想计算一下memberLayer中有多少个标记。如何从数据层获得准确的标记计数?
的google.maps.Data
类支持forEach(callback:function(Data.Feature))
功能,其遍历在数据层中的每一个对象。根据文档,该功能:
重复调用给定的函数,并在每次调用时将集合中的功能传递给该函数。要素的迭代顺序是不确定的。
因此,要计算所有markers
(提供的所有features
在你的geojson
文件是点,map.data
是你的数据层),你可以使用此代码:
var total = 0;
map.data.forEach(function(){ total++; });
console.log("In data layer, there's total of " + total + " features.");
编辑
如果您使用loadGeoJson(url, options?:Data.GeoJsonOptions, callback?:function(Array<Data.Feature>))
函数加载geoJSON,则可以利用3rd参数callback
来获取图层中的要素数量,如下所示(例如):
loadGeoJson("URL", {}, function(features){
log("loadGeoJson finished, number of features:" + features.length);
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句