【问题标题】:How to update (dynamic) marker-icons with live-data?如何使用实时数据更新(动态)标记图标?
【发布时间】:2012-02-24 10:34:35
【问题描述】:

大家好

我想知道,是否可以创建标记图标,一旦 AJAX 功能从服务器提取新数据就可以更新/更改。举个例子:

我有几个标记代表不同的人。现在,如果其中一个人向系统发布一条新消息,AJAX 会获取它并将其传递给 Map-Object。现在我想通过在那个人旁边打开一个 InfoWindow 来将此(事件)弹出到地图中,或者 - 这是首选方式 - 在标记旁边添加一个小红色图标-图标,就像您从 Facebook 的顶部导航中知道的一样(例如,您有 5 条新消息和 3 个好友请求)。 如果单击图标/信息窗口打开,我想从中删除那个额外的图标。

有没有可能做到这一点?最快(就基准测试而言)的方法是什么?也许有额外的覆盖?还是我必须计算视口内的像素并添加到它上面?

现在轮到你了……:)

非常感谢!

【问题讨论】:

    标签: javascript google-maps jquery google-maps-api-3 google-maps-markers


    【解决方案1】:

    简单的方法是使用 Marker 类的 setIcon() 函数。

    很有可能使用另一个叠加层,诀窍是计算视口内的像素。您可以通过使用透明的“红色图标”并使用自定义覆盖类将其覆盖在现有图标之上来避免这种情况(http://code.google.com/apis/maps/documentation/javascript/overlays.html#CustomOverlays ) 通过使用图标的位置。

    如果你真的想计算像素,你可以搜索“google map contextmenu”并参考人们是如何计算的。

    【讨论】:

    • 你觉得从速度上来说什么更合适?我已经在使用自定义标记图标。为每个标记创建更多图标似乎更糟糕。我喜欢叠加层的想法,但由于我会有很多标记,因此需要在地图中进行大量平移和缩放,每次都需要重新计算。那一定很慢吧?难道没有别的东西吗?喜欢超快?
    • 基本上我需要一些非常快的东西,有很多标记、平移、缩放和传入消息?有人吗?
    • 如果您考虑平移和缩放,使用图标或自定义叠加并没有太大区别。唯一的区别取决于您是否使用图标(图像)。根据浏览器和计算机的不同,现在可以非常快地呈现数十个图标或小尺寸覆盖,甚至数百个。
    猜你喜欢
    • 2018-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-21
    • 1970-01-01
    • 2015-07-08
    • 2011-08-16
    相关资源
    最近更新 更多