我在我的 OpenLayers openstreetmaps 上遇到问题,我正在从 kml 文件加载 LineString 功能。由于 LineString 的复杂性和线串的数量,除了性能之外,一切都很好。我想使用 simplefy() 函数来简化线串几何/特征。这是我为即时简化而编写的一些代码。问题出在下面的代码行中:
feature.geometry.components[i].simplify(0.1);
这似乎根本没有修改原始几何特征组件。我究竟做错了什么?我认为我们可能需要使用 removeComponents ,然后使用 addComponents() 添加简化的几何图形,但如何做到这一点?
preFeatureInsert:功能(功能)
{
if (feature != "undefined" && feature.geometry != "undefined" && feature.geometry.CLASS_NAME == "OpenLayers.Geometry.Collection");
{
if (feature.geometry.components != "undefined" && typeof(feature.geometry.components) != "undefined")
{
for (var i = 0; i < feature.geometry.components.length; i++)
{
if (feature.geometry.components[i].CLASS_NAME == "OpenLayers.Geometry.LineString")
{
feature.geometry.components[i].simplify(0.1);
}
}
}
}
}