Javascript Google Map API V3如何像Google Maps web应用程序一样绘制行走路径?

Javascript Google Map API V3如何像Google Maps web应用程序一样绘制行走路径?,javascript,google-maps,google-maps-api-3,Javascript,Google Maps,Google Maps Api 3,在我的应用程序中,我使用如下代码绘制从起点到目的地的驾驶路线: directionsStartService.route(start_request, function(response, status) { if (status == google.maps.DirectionsStatus.OK) { directionsDisplay.setDirections(response); etc... 我添加了一个新功能,以显示用户可以通过步行完成的路径的相交点,但我

在我的应用程序中,我使用如下代码绘制从起点到目的地的驾驶路线:

directionsStartService.route(start_request, function(response, status) {
    if (status == google.maps.DirectionsStatus.OK) {
        directionsDisplay.setDirections(response); etc...
我添加了一个新功能,以显示用户可以通过步行完成的路径的相交点,但我需要这样绘制路径:

directionsStartService.route(start_request, function(response, status) {
    if (status == google.maps.DirectionsStatus.OK) {
        directionsDisplay.setDirections(response); etc...

可能吗?我使用了Maps Javascript API

致以最良好的祝愿,
Gianluca

一个选项,利用相关问题中的代码:(将travelMode更改为WALKING,并从方向结果的末尾向请求的位置添加一条额外的多段线,代码如下

代码片段:

var地理编码器;
var映射;
函数初始化(){
map=新建google.maps.map(
document.getElementById(“地图画布”){
中心:新google.maps.LatLng(37.4419,-122.1419),
缩放:13,
mapTypeId:google.maps.mapTypeId.ROADMAP
});
var m1=新的google.maps.Marker({
地图:地图,
标题:“开始”,
位置:新google.maps.LatLng(43.718526,10.422241)
});
var m2=新的google.maps.Marker({
地图:地图,
标题:“结束”,
位置:新google.maps.LatLng(43.717234,10.427337)
});
var directionsDisplay=new google.maps.DirectionsRenderer();
var directionsService=new google.maps.directionsService();
计算显示路线(新的google.maps.LatLng(43.718526,10.422241),
新的google.maps.LatLng(43.717234,10.427337),
方向服务、方向显示);
方向显示.setMap(地图);
directionsDisplay.setPanel(document.getElementById('right-panel');
}
google.maps.event.addDomListener(窗口“加载”,初始化);
函数calculateAndDisplayRoute(开始、结束、方向服务、方向显示){
方向服务.路线({
来源:start,
目的地:完,
travelMode:google.maps.travelMode.WALKING
},功能(响应、状态){
if(status==google.maps.directionstatus.OK){
//方向显示。设置方向(响应);
console.log(end.toUrlValue(6));
RenderDirections多段线(响应、开始、结束);
}否则{
window.alert('由于'+状态,指示请求失败);
}
});
}
var多段线选项={
strokeColor:“#C83939”,
频闪不透明度:1,
冲程重量:4
};
var walkingPolylineOptions={
strokeColor:“#C83939”,
笔划不透明度:0,
冲程重量:4,
图标:[{
图标:{
路径:google.maps.SymbolPath.CIRCLE,
填充颜色:'#C83939',
不透明度:1,
比例:2,
strokeColor:“#C83939”,
频闪不透明度:1,
},
偏移量:“0”,
重复:“10px”
}]
};
var WalkingPolylineOptions 2={
strokeColor:“#C83939”,
笔划不透明度:0,
冲程重量:4,
图标:[{
图标:{
路径:google.maps.SymbolPath.CIRCLE,
填充颜色:'#808080',
不透明度:1,
比例:2,
strokeColor:“#808080”,
频闪不透明度:1,
},
偏移量:“0”,
重复:“10px”
}]
};
函数renderDirectionsPolylines(响应、开始、结束){
var legs=response.routes[0]。legs;
var bounds=new google.maps.LatLngBounds();
对于(i=0;i1){
//添加“虚线”
var extraLine1=新的google.maps.Polyline(walkingpylineoptions2);
extraLine1.setPath([steppyline.getPath().getAt(steppyline.getPath().getLength()-1),end]);
extraLine1.setMap(map);
}
if(google.maps.geometry.spherical.ComputedIstanceBeween(end,stepPolyline.getPath().getAt(stepPolyline.getPath().getLength()-1))>1){
//添加“虚线”
var extraLine2=新的google.maps.Polyline(walkingpylineoptions2);
extraLine2.setPath([steppyline.getPath().getAt(steppyline.getPath().getLength()-1),end]);
extraLine2.setMap(map);
}
映射边界(bounds);
}
html,
身体
#地图画布{
身高:100%;
宽度:100%;
边际:0px;
填充:0px
}

一个选项,利用相关问题中的代码:(将travelMode更改为WALKING,并从方向结果的末尾添加一条额外的多段线到请求的位置,代码如下

代码片段:

var地理编码器;
var映射;
函数初始化(){
map=新建google.maps.map(
document.getElementById(“地图画布”){
中心:新google.maps.LatLng(37.4419,-122.1419),
缩放:13,
mapTypeId:google.maps.mapTypeId.ROADMAP
});
var m1=新的google.maps.Marker({
地图:地图,
标题:“开始”,
位置:新google.maps.LatLng(43.718526,10.422241)
});
var m2=新的google.maps.Marker({
地图:地图,
标题:“结束”,
位置:新google.maps.LatLng(43.717234,10.427337)
});
var directionsDisplay=new google.maps.DirectionsRenderer();
var directionsService=new google.maps.directionsService();
计算显示路线(新的google.maps.LatLng(43.718526,10.422241),
新的google.maps.LatLng(43.717234,10.427337),
方向服务、方向显示);
方向显示.setMap(地图);
directionsDisplay.setPanel(document.getElementById('right-panel');
}
google.maps.event.addDomListener(窗口“加载”,初始化);
函数calculateAndDisplayRoute(开始、结束、方向服务、方向显示){
方向服务.路线({
来源:start,
目的地:完,
travelMode:google.maps.travelMode.WALKING
},功能(响应、状态){
如果(统计)