Google maps 如何在DirectionsRenderer打开自行车层后关闭该层

Google maps 如何在DirectionsRenderer打开自行车层后关闭该层,google-maps,google-maps-api-3,Google Maps,Google Maps Api 3,在本报告中,声明如下: 自行车层对象将自行车路径和/或自行车特定覆盖层渲染到公共层中。当请求行驶模式自行车的方向时,此层默认在DirectionsRenderer中返回 在DirectionsRenderer打开自行车层后,如何关闭它?我确实想显示自行车路线,但不想让自行车层的所有绿线弄乱地图的清晰度 是否有办法“获取”当前自行车层,并以这种方式将其关闭/解除与地图的绑定?只需禁用DirectionRenerer显示自行车层,根据,您可以使用DirectionRenderOptions中的sup

在本报告中,声明如下:

自行车层对象将自行车路径和/或自行车特定覆盖层渲染到公共层中。当请求行驶模式自行车的方向时,此层默认在DirectionsRenderer中返回

在DirectionsRenderer打开自行车层后,如何关闭它?我确实想显示自行车路线,但不想让自行车层的所有绿线弄乱地图的清晰度


是否有办法“获取”当前自行车层,并以这种方式将其关闭/解除与地图的绑定?

只需禁用DirectionRenerer显示自行车层,根据,您可以使用DirectionRenderOptions中的
suppressBicyclingLayer
选项来抑制自行车层:

抑制BicyclingLayer|类型:布尔值|请求自行车方向时抑制BicyclingLayer的渲染

代码片段:

函数initMap(){
var directionsService=新的google.maps.directionsService;
var directionsDisplay=新建google.maps.DirectionsRenderer({
suppressBicyclingLayer:true
});
var map=new google.maps.map(document.getElementById('map'){
缩放:7,
中心:{
拉脱维亚:41.85,
液化天然气:-87.65
}
});
方向显示.setMap(地图);
var onChangeHandler=函数(){
计算显示路线(方向服务、方向显示);
};
计算显示路线(方向服务、方向显示);
}
函数calculateAndDisplayRoute(方向服务、方向显示){
方向服务.路线({
来源:document.getElementById('start')。值,
目标:document.getElementById('end')。值,
travelMode:“骑自行车”
},功能(响应、状态){
如果(状态=='OK'){
方向显示。设置方向(响应);
}否则{
window.alert('由于'+状态,指示请求失败);
}
});
}
html,
身体{
身高:100%;
保证金:0;
填充:0;
}
#地图{
身高:100%;
}
#浮动面板{
位置:绝对位置;
顶部:10px;
左:25%;
z指数:5;
背景色:#fff;
填充物:5px;
边框:1px实心#999;
文本对齐:居中;
字体系列:“机器人”,“无衬线”;
线高:30px;
左侧填充:10px;
}

开始:

完:
只需禁用DirectionRenderer显示bicyclingLayer,根据,您可以使用DirectionRenderOptions中的
suppressBicyclingLayer
选项来抑制BicycleLayer:

抑制BicyclingLayer|类型:布尔值|请求自行车方向时抑制BicyclingLayer的渲染

代码片段:

函数initMap(){
var directionsService=新的google.maps.directionsService;
var directionsDisplay=新建google.maps.DirectionsRenderer({
suppressBicyclingLayer:true
});
var map=new google.maps.map(document.getElementById('map'){
缩放:7,
中心:{
拉脱维亚:41.85,
液化天然气:-87.65
}
});
方向显示.setMap(地图);
var onChangeHandler=函数(){
计算显示路线(方向服务、方向显示);
};
计算显示路线(方向服务、方向显示);
}
函数calculateAndDisplayRoute(方向服务、方向显示){
方向服务.路线({
来源:document.getElementById('start')。值,
目标:document.getElementById('end')。值,
travelMode:“骑自行车”
},功能(响应、状态){
如果(状态=='OK'){
方向显示。设置方向(响应);
}否则{
window.alert('由于'+状态,指示请求失败);
}
});
}
html,
身体{
身高:100%;
保证金:0;
填充:0;
}
#地图{
身高:100%;
}
#浮动面板{
位置:绝对位置;
顶部:10px;
左:25%;
z指数:5;
背景色:#fff;
填充物:5px;
边框:1px实心#999;
文本对齐:居中;
字体系列:“机器人”,“无衬线”;
线高:30px;
左侧填充:10px;
}

开始:

完:
您只需使用
layer.setMap(null)

比如:

var map = new google.maps.Map(document.getElementById('myMap')
var bikeLayer = new google.maps.BicyclingLayer();
document.getElementById("showBikeLayer").addEventListener("click", function(){
  bikeLayer.setMap(map);
});
document.getElementById("hideBikeLayer").addEventListener("click", function(){
  bikeLayer.setMap(null);
});

您只需使用
layer.setMap(null)

比如:

var map = new google.maps.Map(document.getElementById('myMap')
var bikeLayer = new google.maps.BicyclingLayer();
document.getElementById("showBikeLayer").addEventListener("click", function(){
  bikeLayer.setMap(map);
});
document.getElementById("hideBikeLayer").addEventListener("click", function(){
  bikeLayer.setMap(null);
});