【问题标题】:hover-over tooltip callback (for google maps)悬停工具提示回调(用于谷歌地图)
【发布时间】:2015-09-09 21:17:09
【问题描述】:

TL;DR:如何在谷歌地图上即时创建悬停工具提示的文本,就像它们悬停在上面一样?

更多细节:

我正在(我认为是)通常的方式制作谷歌地图标记:

var mar = new google.maps.Marker({
  position:loca.loc,
  map:map,
  title:formatTitle(data[i]),
  icon:"i/"+returnColors(loca.lang)+"_"+"10.png"
}); 

但我卡住了,因为我的地图不止一种语言,所以我想根据页面中的设置以语言 A 或语言 B 显示工具提示。我已经能够通过简单地设置回调来配置我的所有其他东西(例如,InfoWindows 等),并且在调用显示的那一刻,我看到我们正在使用哪种语言并显示适当的文本。

问题是我希望我的悬停工具提示(标题)也可以使用任何一种语言。尽管如此,我还没有弄清楚当显示工具提示时会触发什么回调(如果有的话)。正如我在上面编写的代码一样,当地图加载时会创建标记,并且工具提示也会随之创建。当悬停发生时,我想要一些方法来动态生成工具提示/标题。

感谢您的任何提示!

编辑:

一位评论者在不知道答案的情况下否决了这个问题,所以这看起来有点奇怪,让我觉得也许我不够具体。

浏览器代码中会触发一些事件,以指示是时候在某某坐标处显示工具提示了。如有必要,我想覆盖该事件。

很明显,某处有一些代码显示了该文本,我想找到该代码并可能覆盖它。

希望这有助于澄清我在问什么。我不需要它是 google.maps.* 类层次结构中的方法,我只需要能够动态显示文本。

也许其他一些悬停/工具提示是要走的路,几年前我用 CSS 伪类做过这个,但肯定有人可以推荐一些现代方法。

【问题讨论】:

  • title 属性没有回调。您可以实现自己的自定义翻转文本,其工作方式与实现其他“东西”的方式相同。
  • 感谢您提供相关问题的链接,我会看一下。但是,如果您不知道答案,为什么要对这个问题投反对票呢?也许我只是不明白这个投票系统应该如何运作。
  • 想想这个投票有点刺耳和神秘,尤其是当建议的“相关问题”根本没有回答问题时。

标签: javascript google-maps tooltip title


【解决方案1】:

如果您在变量中保存对标记的引用,则始终可以使用setTitle() 动态更改标题。 Here a simple example where the title of a marker is modified when the value of a select box is changed :

document.getElementById('lang').onchange = function() {
    var dynamicTitle = this.value == 1 ? 'english title' : 'danish title';
    marker.setTitle(dynamicTitle);
}  

演示 -> http://jsfiddle.net/8w1rfjn4/

显然您不必使用选择框,您可以使用任何适合您需要的事件。

【讨论】:

    猜你喜欢
    • 2011-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-16
    • 2013-03-20
    • 1970-01-01
    相关资源
    最近更新 更多