具有标准样式的谷歌地图自定义按钮

Seb*_*wak 5 javascript google-maps styles button google-maps-api-3

有没有办法使用最新的 API 将自定义按钮添加到 Google 地图,以便它使用与其他标准按钮相同的样式?我将感谢演示该解决方案的示例代码。

kai*_*ser 4

没有可以应用的默认类或其他任何东西。当 Google 地图更改时,您必须跟进开发并更改样式。

对于当前版本:

标记

<div class="gmnoprint custom-control-container">
    <div class="gm-style-mtc">
        <div class="custom-control" title="Click to set the map to Home">Home</div>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

CSS

.custom-control-container {
    margin: 5px;
}
.custom-control {
    cursor: pointer;
    direction: ltr;
    overflow: hidden;
    text-align: center;
    position: relative;
    color: rgb(0, 0, 0);
    font-family: "Roboto", Arial, sans-serif;
    -webkit-user-select: none;
    font-size: 11px !important;
    background-color: rgb(255, 255, 255);
    padding: 1px 6px;
    border-bottom-left-radius: 2px;
    border-top-left-radius: 2px;
    -webkit-background-clip: padding-box;
    background-clip: padding-box;
    border: 1px solid rgba(0, 0, 0, 0.14902);
    -webkit-box-shadow: rgba(0, 0, 0, 0.298039) 0px 1px 4px -1px;
    box-shadow: rgba(0, 0, 0, 0.298039) 0px 1px 4px -1px;
    min-width: 28px;
    font-weight: 500;
}

.custom-control:hover {
    font-weight: 900 !important;
}
Run Code Online (Sandbox Code Playgroud)

这是一个jsFiddle,它正是这样做的。一些样式属性仍然由地图直接应用。没有得到应用的是cursor: pointer;某些样式可能需要!important作为后缀,这样它就不会被地图覆盖。

请记住,您已经可以添加视觉刷新(新地图样式的预览)

google.maps.visualRefresh = true;
Run Code Online (Sandbox Code Playgroud)

当这成为默认值时,您可能需要刷新。