Google地图文档提供了StreetViewPanorama
的一些自定义功能。但是,我使用的是常规Google地图Map
,但可以选择转到街景视图,因为StreetViewControl
选项已启用。
用户进入我的Google地图上的街景视图后,街景视图会显示默认控件:右上角的全屏按钮和左上角有地址的后退按钮。但这是我的用户不太直观地理解的东西(坦白说我不怪他们)。我需要一种隐藏这些控件的方法,所以我可以替换自己的按钮。
我熟悉检测用户何时进入街景视图,并且我知道如何显示按钮以退出街景视图。我不知道的是,我可以隐藏Google默认的“后退”按钮吗?我已经尝试将StreetViewControl
对象的属性直接用于我的Map
对象初始化,但它不起作用;这是可以理解的,因为一些选项名称会发生冲突。
根据请求,这是显示地图的代码,并显示/隐藏退出街景的我的按钮:
// Create a map object and specify the DOM element for display.
map = new google.maps.Map(document.getElementById('map'), {
center: this.mapCenter,
scrollwheel: true,
scaleControl: false,
overviewMapControl: false,
zoom: this.zoom
});
// Show the button for exiting Street View when Street view is entered
google.maps.event.addListener(map.getStreetView(), 'visible_changed', function(){
if(this.getVisible() == true) {
document.getElementById("exitStreetViewButton").style.display = "block";
} else {
document.getElementById("exitStreetViewButton").style.display = "none";
}
});
这是退出按钮执行退出街景的代码:
map.getStreetView().setVisible(false);
答案 0 :(得分:2)
我遇到了同样的问题。禁用UI不起作用,退出按钮是唯一的元素(除了底部的合法内容)仍然存在。
就文档而言,没有办法删除它。我使用css隐藏了它:
.gm-iv-container {
display: none;
}
答案 1 :(得分:1)
尝试使用disableDefaultUI
选项。您可以将其设置为true以禁用默认UI,然后根据需要单独启用某些控件。
var panoramaOptions = {
disableDefaultUI: true
};
修改强>
如果您需要,也可以这样做:
var panorama = map.getStreetView();
panorama.setOptions(panoramaOptions);
答案 2 :(得分:0)
您可以使用此选项:
class ServiceProvider extends \Illuminate\Support\ServiceProvider
{
public function boot(Factory $view)
{
$view->composer('template::name', ProfileComposer::class);
}
}