如何更改谷歌地图绘图管理器工具栏提示?
问题描述:
我有一个谷歌地图绘图管理器的情况。我想更改绘图管理器工具栏的默认工具提示。当我们将鼠标移动到绘图管理器工具栏上时(将鼠标移动到标记上方,圆形),我们可以看到工具提示“添加标记”,“绘制圆圈”。我想将工具栏工具提示更改为“添加新位置”,“绘制区域”。我使用谷歌地图API版本3。有没有可能改变它?如何更改谷歌地图绘图管理器工具栏提示?
在此先感谢
答
的按钮的节点是无法通过API访问,最好的办法是ommit内置控件,而是创建你自己的。
另一种方法(使用jQuery,但它是没有可能的框架太):
$(map.getDiv()).one('mouseover','img[src="https://maps.gstatic.com/mapfiles/drawing.png"]',function(e){
$(e.delegateTarget).find('img[src="https://maps.gstatic.com/mapfiles/drawing.png"]').each(function(){
$(this).closest('div[title]').attr('title',function(){
switch(this.title){
case 'Add a marker':
return 'Add New Location';
break;
case 'Draw a circle':
return 'Draw an area';
break;
default:return this.title;
}
});
});
});
据观察按钮的鼠标悬停事件(因为你永远不知道何时可里面的按钮文件),然后修改标题。
但是这种方法只适用于API使用英语作为语言。为了实现它,不管语言如何,您都必须检查按钮图像的顶级属性(这似乎是唯一可用于确定按钮用于的形状类型的细节)
答
由于以上原因,我无法使Dr.Molle版本正常工作。然而,修改this answer后,我能够在我的应用程序中使用它。
例如,我只是想改变`DrawingManager'drawRectangle方法的文本,下面的代码为我工作。对DrawingManager工具提示进行此修改至关重要的是确保文档和地图对象在此代码运行之前完全加载。
$(".gmnoprint").each(function(){
var newObj = $(this).find("[title='Draw a rectangle']");
newObj.attr('title', 'Draw a rectangle around the area to search');
});
@@莫尔博士:谢谢莫尔。它按我的预期运作良好。非常感谢这样一个甜蜜的代码。 – 2014-10-28 13:38:14
如何实现这一点。你能解释一下吗? – 2015-03-16 08:12:15