我得到线的纬度和经度
线串(1491215.4689647 6893983.2031826,1494163.0718675 6894785.7919795)
看到这个解决方案后。 如何从 OpenLayers.Control.DrawFeature 获取积分返回
现在我想做的是我想在我的网页上显示起点和终点。那么如何从这里提取纬度和经度,以便在我的页面中显示它。
我得到线的纬度和经度
线串(1491215.4689647 6893983.2031826,1494163.0718675 6894785.7919795)
看到这个解决方案后。 如何从 OpenLayers.Control.DrawFeature 获取积分返回
现在我想做的是我想在我的网页上显示起点和终点。那么如何从这里提取纬度和经度,以便在我的页面中显示它。
那是 WKT 格式,你正在看。如果它们不在同一个投影中,您可能需要将这些坐标重新投影到目标投影。之后,您应该能够使用基本几何功能向 openlayers 询问任何给定几何的点。从线串实例中获取点数组并对其进行迭代。确保您知道投影/数据模型的正确坐标顺序。
希望有帮助!
如果您的线串已经在 OpenLayers 中,则没有理由将其转换为 WKT。线串几何包含点数组。您可以通过多种方式访问几何组件,例如:
drawControls[key].events.register('featureadded', drawControls[key], function(f) {
// First point
var firstPointGeom = f.feature.geometry.components[0].clone();
// Last point
var secondPointGeom = f.feature.geometry.components[f.feature.geometry.components.length - 1].clone();
// Now you got geometries, let's create features from them...
var firstPointFeat = new OpenLayers.Feature.Vector(firstPointGeom);
var secondPointGeom = new OpenLayers.Feature.Vector(secondPointGeom);
yourVectorLayer.addFeatures([firstPointFeat, secondPointGeom]);
});
注意 - 这适用于 LineStrings。可能没有必要详细介绍clone()
,这取决于特定的用例,无论您是否需要它,或者您可以只使用var firstPointGeom = f.feature.geometry.components[0];