javascript - 如何更改谷歌地图中控件div中的按钮样式?

标签 javascript css google-maps google-maps-api-3 google-maps-styling

如何通过点击 map 控件div上的按钮来获取元素并更改样式?我喜欢在 map 上实现与表格中的按钮相同的效果。

代码:jsFiddle

更新:

在您的帮助下,我得到了预期的结果:jsFiddle2

最佳答案

我已经更新了您的 gMap.select here ,它正在工作,希望这就是您想要的。

select: function (buttonId){
    gMap.buttons.$line.className="unselected";
    gMap.buttons.$placemark.className="unselected";
    document.getElementById(buttonId).className="selected";
    var divs=window.parent.frames[0].document.getElementsByTagName('div');
    for(i=0;i<divs.length;i++)
    {
        if(divs[i].id.charAt(0)=="c") divs[i].className="unselected";
    }
    var btn='c_'+buttonId;
    window.parent.frames[0].document.getElementById(btn).className="selected";
}

更新: Here is the updated fiddle.希望你想要这个。

更新在 fiddle 中标有//Update。

This is another example如何在 Google map 中添加自定义控件及其事件处理程序(使用 Javascript)

var map;
function initialize() {
map = new google.maps.Map(document.getElementById('map'));
map.setCenter(new google.maps.LatLng(48.77565,9.181802));
map.setZoom(12);
map.setMapTypeId( google.maps.MapTypeId.ROADMAP );

var controlDiv = document.createElement('div');
var table=document.createElement('TABLE');
var tbdy=document.createElement('TBODY');
var tr=document.createElement('TR');

var btn1=document.createElement('input');
btn1.setAttribute("type", "button");
btn1.id="c_placemark_b";
btn1.setAttribute("value", "Button One");
var td1=document.createElement('TD');
td1.appendChild(btn1);

var btn2=document.createElement('input');
btn2.setAttribute("type", "button");
btn2.id="c_line_b";
btn2.setAttribute("value", "Button Two");
var td2=document.createElement('TD');
td2.appendChild(btn2);

tr.appendChild(td1);
tr.appendChild(td2);
tbdy.appendChild(tr);
table.appendChild(tbdy);
controlDiv.appendChild(table);

google.maps.event.addDomListener(btn1, 'click', function() {
    //DoSomething
    alert(this.id);
});

google.maps.event.addDomListener(btn2, 'click', function() {
    //DoSomething
    alert(this.id);
});

controlDiv.index = 1;
map.controls[google.maps.ControlPosition.TOP_RIGHT].push(controlDiv);
}

关于javascript - 如何更改谷歌地图中控件div中的按钮样式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9672198/

相关文章:

javascript - Appcelerator Titanium 中用于 OOP 的 CommonJS

javascript - 打开文件对话框的文件过滤器不在 Safari 上过滤

javascript - 使用 JavaScript 调用 Laravel Controller 中的 POST 方法

javascript - javascript中的字符串连接问题

html - 纯 CSS 旋转动画在无限循环中损坏

android - 应用程序正在运行但 MAP 是空白的我正在使用 google map api 来定位某个位置

javascript - 在 Node.js 下使用express和session配置socket.io和htpps

javascript - 怎么把放大镜和 "search"放到搜索输入框里,像StackOverflow一样?

javascript - Google map - 路线服务 api ZERO_RESULTS

java - 为什么PolyLineOptions()之前有一个 "new"关键字?