javascript - Google map api,如何处理同一位置的所有标记(重叠标记)的标记悬停事件?

标签 javascript jquery angularjs google-maps google-maps-api-3

我正在使用带 Angular 谷歌地图API。在一个简单的应用程序中,左侧有一个包含大量标记的 map ,右侧有一个表格列表,其中包含有关标记的信息,每个标记占一行。在标记悬停时,我使用下面的代码突出显示右侧悬停标记的行。

google.maps.event.addListener(marker, 'mouseover', function () {
            var temp_marker_name = this.marker_name;
            $scope.$apply(function () {
                $scope.active_row_name = temp_marker_name;
            });
        });
        google.maps.event.addListener(marker, 'mouseout', function () {
            $scope.$apply(function () {
                $scope.active_row_name = '';
            });
        });

所以在这里,我在标记悬停时设置名称,并根据名称突出显示右侧的行。

现在,有一种情况,多个标记绘制在同一位置,当我将鼠标悬停在该标记上时,它仅突出显示右侧的一行。

但是我想突出显示该位置处标记的所有行。因此,我希望悬停事件将为同一位置处的所有标记触发,我可以创建一个名称数组,然后我可以放置一个条件来突出显示行。

最佳答案

悬停只会检测顶部的标记。您可以做的是维护一个标记数组,并在事件监听器中迭代该数组以获取具有相同 lat lng 值的标记。

编辑: 获得标记列表后,对于同一位置的每个标记,您可以手动触发鼠标悬停事件。

google.maps.event.trigger(marker, 'mouseover');

关于javascript - Google map api,如何处理同一位置的所有标记(重叠标记)的标记悬停事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45325756/

相关文章:

javascript - 这可以处理 100.000 个值吗?

javascript - Angularjs-添加/删除动态 html 元素(下拉菜单)

php - 停止缓存页面的特定元素

javascript - 如果输入有值,则应检查特定的单选按钮

jquery - jQuery 中元素的总宽度(包括填充和边框)

javascript - 编辑放置匿名函数的 HTML

jquery - 脚本5009 : 'URLSearchParams' is undefined in IE 11

javascript - 添加到一个间隔中被读取/删除的数组

javascript - 在单页 MEAN 应用程序中优雅地隐藏导航栏。

javascript - MongoDB 不保存数据,因为 "Uncaught ReferenceError: require is not defined"