我正在使用带 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/