如何使用openlayers在地图上显示路径?

如何使用openlayers在地图上显示路径?,openlayers,Openlayers,我有这样一条路: [53.994791502000055,32.87857732600003,141,53.99267829900003,32.95958344100006,126,53.98845189300005,32.99902989800006,124,53.998313507000034,33.01593552200006,120,54.04269077100008,33.07158320100007,109,54.05184798400006,33.06242598800003,10

我有这样一条路:

[53.994791502000055,32.87857732600003,141,53.99267829900003,32.95958344100006,126,53.98845189300005,32.99902989800006,124,53.998313507000034,33.01593552200006,120,54.04269077100008,33.07158320100007,109,54.05184798400006,33.06242598800003,109,54.07086681100003,33.00818711100004,109,54.04480397400005,32.98564627800005,113]
该路径包括每个点的long、lat和z。我还有一张用OpenLayers创建的地图。我想在地图上显示这条路。我尝试了不同的方法和说明,但没有显示。以下是我显示地图的方式:

var map = new ol.Map({
        controls: ol.control.defaults({
          attributionOptions: {
            collapsible: false
          }
        }).extend([mousePositionControl]),
        layers: layers,
        // Improve user experience by loading tiles while dragging/zooming. Will make
        // zooming choppy on mobile or slow devices.
        loadTilesWhileInteracting: true,
        target: 'map',
        view: new ol.View({
          center: ol.proj.fromLonLat([54.081, 32.908]),
          zoom: 13
        })
      });
我用这种方法测试了部分路线的显示,但不起作用:

routlayer = new ol.layer.Vector({
     source: new ol.source.Vector({
         features: [
             new ol.Feature({
                 geometry: new ol.geom.LineString([
      [53.9888, 32.8876],
      [54.1576, 32.9360]
])
             })
         ]

     })

 });


    map.addLayer(routlayer);

我在不同的参考文献中尝试了类似的方法,但没有成功

我认为您错过了从地理坐标到
routlayer
几何体上的Web墨卡托的转换。如果你解决了这个问题,它应该会起作用

这里有一个我用帖子的数据为你做的工作示例


.地图{
高度:400px;
宽度:100%;
}
#a{显示:无;}
OL-来自Coords的LineString
来自Coords的行字符串
//瓷砖层
var tile=新ol.layer.tile({
来源:new ol.source.OSM()
});
//矢量层
const coords=[53.9947915020000055,32.87857732600003141,53.9926782990003,32.95958344100006126,53.98845189300005,32.9990298980006124,53.998313507000034,33.015935520006120,54.042690777100008,33.07158320000077109,54.05184798400006,33.062425988000019,54.070866811000003,33.0081110000919,54.044803904800056480003];
让路径=[];
对于(设i=0;i
我认为您错过了从地理坐标到
routlayer
几何图形上的Web Mercator的转换。如果你解决了这个问题,它应该会起作用

这里有一个我用帖子的数据为你做的工作示例


.地图{
高度:400px;
宽度:100%;
}
#a{显示:无;}
OL-来自Coords的LineString
来自Coords的行字符串
//瓷砖层
var tile=新ol.layer.tile({
来源:new ol.source.OSM()
});
//矢量层
const coords=[53.9947915020000055,32.87857732600003141,53.9926782990003,32.95958344100006126,53.98845189300005,32.9990298980006124,53.998313507000034,33.015935520006120,54.042690777100008,33.07158320000077109,54.05184798400006,33.062425988000019,54.070866811000003,33.0081110000919,54.044803904800056480003];
让路径=[];
对于(设i=0;i
谢谢。这是有用的。如果我想定义一个通过选择按钮激活的函数,该函数显示路径,需要进行哪些更改?发布一个新问题,我可能会对此有所帮助。@AliHoseinpour一个简单的方法是每次单击时更改图层
向量的可见性,这将在地图中显示和隐藏路径。谢谢。这是有用的。如果我想定义一个通过选择按钮激活的函数,并且该函数显示路径,需要做哪些更改?发布一个新问题,我可能会对此有所帮助。@AliHoseinpour一个简单的方法是在每次单击时更改图层
向量的可见性,这将在地图中显示和隐藏路径。