【问题标题】:ol.Coordinate with directionol.方向坐标
【发布时间】:2015-08-05 13:33:58
【问题描述】:

我正在尝试在地图上创建一个标记,如果我这样做了,我有一些代码:

var iconFeature = new ol.Feature({
          geometry: new
            ol.geom.Point(ol.proj.transform([74.7951025, 40.1947151666667], 'EPSG:4326',   'EPSG:3857')),
          name: train
});
vectorSource.addFeature(iconFeature);

它在地图上标出点,太棒了!问题是它不在世界的正确部分,所以我需要定义方向。我试过了:

var iconFeature = new ol.Feature({
          geometry: new
            ol.geom.Point(ol.proj.transform(["74.7951025W", "40.1947151666667N"], 'EPSG:4326',   'EPSG:3857')),
          name: train
});
vectorSource.addFeature(iconFeature);

我查看了ol.Coordinate 的文档,没有看到任何关于方向的信息,还看到坐标应该是{Array.<number>} 类型。如何为我的坐标添加方向,以便标记位于正确的位置?

【问题讨论】:

标签: openlayers-3


【解决方案1】:

据我所知,OpenLayers v3.7 不支持方向,因此如果方向为南,您可以将纬度更改为负,如果方向为南,则将经度更改为负,而不是尝试向坐标添加方向。方向是西。这样您就可以在正确的位置获得积分。

var lat = parseFloat(coords[i].latitude);
if(coords[i].latitudeDir == "S")
{
    lat = lat * -1;
}
var lon = parseFloat(coords[i].longitude);
if(coords[i].longitudeDir == "W")
{
    lon = lon * -1;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-10
    • 1970-01-01
    • 1970-01-01
    • 2017-12-22
    相关资源
    最近更新 更多