谷歌地图数据层:使用map.data.loadGeoJson加载第二个文件要慢得多

时间:2015-05-01 17:25:47

标签: google-maps

我正在编写一个在谷歌地图上显示邮政编码和其他图层的应用程序。对于zipcodes,我有一个简化的geojson文件用于上部缩放级别和一个更详细的功能数据库,在放大时添加。这在第一次加载时工作正常。地图以高缩放级别加载,并在~10秒内加载简化的geojson。然而,在我放大后然后缩小,简化geojson的重新加载需要大约30秒。这是在用

清除所有以前的数据之后
map.data.forEach(function(feature) {map.data.remove(feature); });

起初我认为这是由于我的代码中的其他内容造成的内存泄漏问题,所以我做了一个简单的测试,我创建了一个地图,只是加载了简化文件,清除然后再次加载它,我得到了大约3倍的加载时间相同的结果。然后我创建了一个小得多的geojson文件,只有3个邮政编码边界,​​并做了一个测试,我加载了那个小文件,清除然后加载了简化文件,加载需要差不多~30秒。因此,加载第二个文件的简单行为似乎会导致谷歌地图中出现某种额外的处理需求。我甚至尝试使用

在新图层中加载新文件
high_zoom_zips = new google.maps.Data({map: map})
high_zoom_zips.loadGeoJson('zips.json');
但是,加载时间越长。重新加载第三次或第四次似乎不会显着增加加载时间

还有其他人遇到过这个问题吗?是否需要重置Google地图中的任何其他内容以阻止此额外处理?

0 个答案:

没有答案