我有一个情况与谷歌地图绘制经理。我要更改绘图管理器工具栏默认工具提示。当我们移动鼠标在绘图管理器工具栏(移动鼠标对标记,圆圈),我们看到工具提示“添加一个标记”,“画一个圆”。我想将工具栏工具提示更改为“添加新位置”、“绘制区域”。我使用google version3。有可能改变吗?
提前感谢
发布于 2014-10-28 13:21:20
按钮的节点无法通过API访问,最好的方法是省略内置控件并创建自己的控件。
另一种方法(使用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;
}
});
});
});它观察按钮的mouseover事件(因为您永远不知道文档中的按钮何时可用),然后修改标题。
但是,只有当API使用英语作为语言时,这种方法才能奏效。为了实现它,不管语言是什么,您都必须检查按钮图像的顶部属性(这似乎是唯一可以用来确定按钮用于的形状类型的细节)。
发布于 2016-12-15 00:16:05
无论是什么原因,我都无法让@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');
});https://stackoverflow.com/questions/26608079
复制相似问题