ol.Coordinate with direction

时间:2015-08-05 13:33:59

标签: openlayers-3

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

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>}类型。如何向坐标添加方向以使标记位于正确的位置?

1 个答案:

答案 0 :(得分:0)

根据我的发现,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;
}