我正在创建一个地图应用程序,我在其中根据数据库查询动态添加 kml。它将是一组 LineStrings - 有时十个有时一千个。
什么更有效:
创建一个包含所有元素和样式的大型 kml
每行创建一个小 kml(优势是我可以使用 OL 菜单勾选/取消勾选它们)
通过 javascript 添加它们:
addFeature('LINESTRING(20.0367 50.0727,20.0366 50.0727,20.0326 50.0757)');
我正在创建一个地图应用程序,我在其中根据数据库查询动态添加 kml。它将是一组 LineStrings - 有时十个有时一千个。
什么更有效:
创建一个包含所有元素和样式的大型 kml
每行创建一个小 kml(优势是我可以使用 OL 菜单勾选/取消勾选它们)
通过 javascript 添加它们:
addFeature('LINESTRING(20.0367 50.0727,20.0366 50.0727,20.0326 50.0757)');
最有效的是使用 WMS(通过地理服务器)和使用 CQL 过滤线。在一张地图上显示数千个特征可能会破坏应用程序的速度
就个人而言,我认为通过放置 1 行 X 层来创建潜在的数千层并不是一个好主意……您的图层切换器控件将不堪重负,最后您的浏览器将不得不处理相同数量的矢量……
第 1 点和第 3 点可能会给您类似的结果,但无论如何,我建议您找到一种方法来减少地图中同时显示的矢量/线的数量,因为浏览器无法轻松处理尽可能多的数据......尤其是 IE。
使用 OpenLayers.Strategy.BBOX 可以帮助您从数据库中仅提取地图当前范围内所需的向量...
问候
艾蒂安