我想在地图、卫星和混合按钮旁边的谷歌地图顶部放置一个按钮。
我想知道它是否可能以及最好的方法是什么?
所以我的想法是在谷歌地图上覆盖一个可点击的图像,但不确定这是否会使所有事件远离谷歌地图。
您对如何完成有任何想法吗?
我想在地图、卫星和混合按钮旁边的谷歌地图顶部放置一个按钮。
我想知道它是否可能以及最好的方法是什么?
所以我的想法是在谷歌地图上覆盖一个可点击的图像,但不确定这是否会使所有事件远离谷歌地图。
您对如何完成有任何想法吗?
接受的答案来自 2009 年(5 年前),并链接到已弃用的 Google Maps API 版本。
在搜索相同的问题时,我发现了这个例子:https ://developers.google.com/maps/documentation/javascript/examples/control-custom
// Create the DIV to hold the control and
// call the HomeControl() constructor passing
// in this DIV.
var homeControlDiv = document.createElement('div');
var homeControl = new HomeControl(homeControlDiv, map);
homeControlDiv.index = 1;
map.controls[google.maps.ControlPosition.TOP_RIGHT].push(homeControlDiv);
有一个很好的描述如何做到这一点here。
我很确定您可以将这些家伙设计为看起来像标准按钮,并且您绝对可以将其固定在右上角。当我有机会时,我会尝试并更新我的结果。
更新:
我有机会尝试一下,它工作正常:
基本上,您最终会使用 GControl 或仅使用 DIV 在地图上的绝对定位(如ChrisB建议的那样)来执行非常相似的操作。所以我认为没有正确(或更简单)的方法,这只是个人喜好问题。祝你好运。
只是为了补充 Cannonade 的答案,这里是谷歌地图控件使用的 html/css。您可以复制 css 以使其看起来像真实的东西。
您可以创建一个正式的 GControl,或者您可以将它们放置在具有绝对定位的 Google 地图上。
活动按钮:
<div style="border: 1px solid black; position: absolute; background-color: white; text-align: center; width: 5em; cursor: pointer; right: 15.3em;" title="Show street map">
<div style="border-style: solid; border-color: rgb(52, 86, 132) rgb(108, 157, 223) rgb(108, 157, 223) rgb(52, 86, 132); border-width: 1px; font-size: 12px; font-weight: bold;">
Map
</div>
</div>
非活动按钮:
<div style="border: 1px solid black; position: absolute; background-color: white; text-align: center; width: 5em; cursor: pointer; right: 5.1em;" title="Show imagery with street names">
<div style="border-style: solid; border-color: white rgb(176, 176, 176) rgb(176, 176, 176) white; border-width: 1px; font-size: 12px;">
Hybrid
</div>
</div>
我也有同样的问题,我就是这样做的,创建一个按钮并给它下面的样式
id="my_button"
#my_button{
position:absolute;
bottom:2%;
color: #fff;
background-color: #4d90fe;
padding: 11px;
border: 1px solid transparent;
border-radius: 2px;
box-sizing: border-box;
-moz-box-sizing: border-box;
outline: none;
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
alignment-baseline:central;
width:90%;
left:5%;
text-align:center;
text-decoration:none;
margin:0px auto;}
#my_button:hover{
background-color:#3B6EC2;}
使用 jQuery 它看起来像这样:首先,创建一个函数,它将返回您的元素
function myButton(){
var btn = $('<div class="my-button"></div>');
btn.bind('click', function(){
// logic here...
alert('button clicked!');
});
return btn[0];
}
创建地图后,您需要将按钮附加到它:
map.controls[google.maps.ControlPosition.TOP_CENTER].push(myButton());