Service 在openlayer3中沿地图路径绘制多段线

Service 在openlayer3中沿地图路径绘制多段线,service,openlayers-3,polyline,direction,Service,Openlayers 3,Polyline,Direction,我下面的代码是如何沿着地图的路径绘制多段线,知道地图中存在的点只会给出如何沿着车道路径的直线 <!DOCTYPE html> <html> <head> <title>Rotation example</title> </head> <body> <div style="width:80%; height:80%; position:fixed; b

我下面的代码是如何沿着地图的路径绘制多段线,知道地图中存在的点只会给出如何沿着车道路径的直线

 <!DOCTYPE html>
    <html>
    <head>
        <title>Rotation example</title>
    </head>
    <body>
    <div style="width:80%; height:80%; position:fixed; border: 1px solid;" id="map"></div>
    <script src="http://openlayers.org/en/v3.11.2/build/ol.js"></script>
    <script>

        var lineString = new ol.geom.LineString([
            [103.986083,  1.350349],
            [103.985097, 1.349067]
        ]);
        lineString.transform('EPSG:4326', 'EPSG:3857');

        var lineLayer = new ol.layer.Vector({
            source: new ol.source.Vector({
                features: [new ol.Feature({
                    geometry: lineString,
                    name: 'Line'
                })]
            }),
            style: new ol.style.Style({
                stroke: new ol.style.Stroke({
                    color: [255, 255, 0, 0.5],
                    width: 10
                })
            })
        });

        var view = new ol.View({
            center: ol.proj.transform([103.986908, 1.353199], 'EPSG:4326','EPSG:3857'),
            zoom: 18,
            rotation: 68*Math.PI/180
        });

        var map = new ol.Map({
            layers: [
                new ol.layer.Tile({
                    source: new ol.source.OSM()
                }),
                lineLayer
            ],
            target: 'map',
            controls: ol.control.defaults({
                attributionOptions: /** @type {olx.control.AttributionOptions} */ ({
                    collapsible: false
                })
            }),
            view: view
        });



    </script>

    </body>
    </html>

旋转示例
var lineString=新ol.geom.lineString([
[103.986083,  1.350349],
[103.985097, 1.349067]
]);
transform('EPSG:4326','EPSG:3857');
var lineLayer=新ol.layer.Vector({
来源:新ol.source.Vector({
功能:[新ol.功能({
几何图形:线串,
名称:“行”
})]
}),
风格:新的ol风格({
笔划:新的ol风格笔划({
颜色:[255,255,0,0.5],
宽度:10
})
})
});
变量视图=新的ol.view({
中心:ol.proj.transform([103.986908,1.353199],“EPSG:4326',“EPSG:3857'),
缩放:18,
旋转:68*Math.PI/180
});
var map=新ol.map({
图层:[
新ol.layer.Tile({
来源:new ol.source.OSM()
}),
线人
],
目标:“地图”,
控件:ol.control.defaults({
AttributeOptions:/**@type{olx.control.AttributeOptions}*/({
可折叠:错误
})
}),
视图:视图
});

openlayer3是否提供任何方向服务请指向示例以完成此操作

如果您可以使用车道上的坐标代替线串。

您需要使用路由服务来完成此操作。您可以设置自己的服务,也可以使用任何在线服务。你可以找到一个免费的在线路由器列表,并决定哪一个最符合你的需要。 从所选服务中获取根多段线后,您可以解码(如果已编码)并在ol3地图中绘制线。
另外,根据您将要使用的服务,ol3提供了一个以编码多段线算法格式读取和写入数据的类,如所述

能否请您指出一些有助于实现此目的的演示或示例代码我正在尝试这样做,但多段线没有显示能否请您说明有什么问题我正在尝试这样做,但多段线没有显示可以吗你说什么不对?我已经回答了你提出的问题。也许这有助于您的案例请提供具体示例,在其中我可以使用任何一种方向服务绘制多段线,例如(OSRM)。我真的不知道如何与现有应用程序集成请提供一种方法或一个函数来帮助我做到这一点