首页 新闻 会员 周边

openlayers中画点和线,只显示点,但是线不显示

0
悬赏园豆:100 [已关闭问题] 关闭于 2019-05-09 10:25

openlayers中画点和线,只显示点,但是线不显示。
代码如下
//起始位置
var center = [103.9271879196, 30.7462617980];

    var saoguan = new ol.Feature({
        geometry:new ol.geom.Point(ol.proj.fromLonLat([113.5991,24.8166]))
    });

    saoguan.setStyle(new ol.style.Style({
            image:new ol.style.Circle({
                radius: 5,
                fill: new ol.style.Fill({
                    color: '#FF0000'
                })
            })
        })
    );


    var feature = new ol.Feature({
        geometry:new ol.geom.LineString(
            [[113.5991,24.8166], [114.5991,25.8166]])
    });

    feature.setStyle(new ol.style.Style({
        stroke: new ol.style.Stroke({
            width: 3,
            color: [255, 0, 0, 1]
        })
    }));

    var source = new ol.source.Vector({
        features:[feature,saoguan]
    });

    var layer = new ol.layer.Vector({
        source: source
       
    });
    var rasterLayer =  new ol.layer.Tile({
        source: new ol.source.OSM()
    });

    var map = new ol.Map({
        layers: [rasterLayer, layer],
        target: document.getElementById('map'),
        view: new ol.View({
            center: ol.proj.fromLonLat([113.5991,24.8166]),
            zoom: 3
        })
    });

只显示这个点

孤芳自赏的小孩的主页 孤芳自赏的小孩 | 菜鸟二级 | 园豆:204
提问于:2019-05-09 09:53

在线等大佬

孤芳自赏的小孩 4年前
< >
分享
所有回答(2)
0

问题解决了。openlayers通过监听地图事件获取的经纬度坐标是经过加密算法偏移的数值,

因此在使用坐标之前需要将其转化成为正确的经纬度坐标:

coordinate 是需要转化的坐标,经过 transform 方法转化后,得到的是真是的经纬度坐标值!

孤芳自赏的小孩 | 园豆:204 (菜鸟二级) | 2019-05-09 10:25
0

那为什么点没转化就出来了?

buaa_hanshuai | 园豆:202 (菜鸟二级) | 2020-10-13 21:15
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册