Google Maps API v3 DrawingManager:更改标题属性

时间:2015-03-17 15:56:37

标签: google-maps google-maps-api-3 drawing

我正在使用Google Maps API V3DrawingManager

当鼠标悬停我的DrawingManager时,会出现图标的title属性,但我想在法语版本中更改此标题(“Dessiner une forme”)并自行设置

enter image description here

我尝试使用:

$("div.gmnoprint img[src$='drawing.png']").last().attr("title", "My custom title");

有效,但是:

  • 这个解决方案看起来很难看。
  • 它可以在我的浏览器控制台中运行,但我需要一个事件drawingmanager_complete才能在管理器完全加载时运行此代码,但根据the documentation,它不会不存在......

有没有干净可靠的方法来实现这一目标? 谢谢

1 个答案:

答案 0 :(得分:1)

不幸的是,API或库没有提供开发人员可以编辑的任何端点来创建自己的自定义一次。执行此操作的最佳方法是省略预先存在的控件,然后构建自己的控件。

一种方法是使用这种方法:

$(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;  
         } 

      });
    });
  });

这将与英语作为一种语言一起使用。要实现它,无论使用何种语言,您都必须检查按钮图像的顶部属性(这似乎是可用于确定按钮所用形状类型的唯一细节)。