0

我得到线的纬度和经度

线串(1491215.4689647 6893983.2031826,1494163.0718675 6894785.7919795)

看到这个解决方案后。 如何从 OpenLayers.Control.DrawFeature 获取积分返回

现在我想做的是我想在我的网页上显示起点和终点。那么如何从这里提取纬度和经度,以便在我的页面中显示它。

4

2 回答 2

0

那是 WKT 格式,你正在看。如果它们不在同一个投影中,您可能需要将这些坐标重新投影到目标投影。之后,您应该能够使用基本几何功能向 openlayers 询问任何给定几何的点。从线串实例中获取点数组并对其进行迭代。确保您知道投影/数据模型的正确坐标顺序。

希望有帮助!

于 2013-02-28T11:08:53.603 回答
0

如果您的线串已经在 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];

于 2013-02-28T14:19:54.177 回答