如何更改谷歌地图“图形管理器”工具栏工具提示

How to change google maps Drawing Manager toolbar tooltip?

本文关键字:图形管理器 工具栏 工具提示 管理器 图形 何更改 谷歌地图      更新时间:2023-09-26

我遇到了谷歌地图绘制管理器的问题。我想更改图形管理器工具栏的默认工具提示。当我们在绘图管理器工具栏上移动鼠标时(在标记、圆圈上移动鼠标),我们会看到工具提示"添加标记"、"绘制圆圈"。我想将工具栏工具提示更改为"添加新位置"、"绘制区域"。我使用谷歌地图API版本3。有可能改变它吗?

提前感谢

按钮的节点不能通过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使用英语作为语言时,这种方法才会起作用。为了实现这一点,无论使用何种语言,您都必须检查按钮图像的顶部属性(这似乎是唯一可用于确定按钮所用形状类型的细节)

无论出于什么原因,我都无法让@Dr.Molle版本正常工作。然而,通过调整这个答案,我能够让它在我的应用程序中发挥作用。

例如,我只是想更改"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');
    });