AngularJS - 谷歌地图标记删除

AngularJS - Google Map Markers Removal

本文关键字:删除 图标 地图 谷歌 AngularJS      更新时间:2023-09-26

找不到如何用uiGmapGoogleMapApi做到这一点的解决方案。由于google对象未导入,因此无法使用常规解决方案。

我的标记通过以下方式更新:

$scope.change_type = function(val) {
        var markers = [];
        $scope.eventMarkers = markers
        var events = Events.venues(val.type)
        for (var i = 0; i < events.length; i++) {
            event = events[i]
            markers.push(createMarker(i,event))
        }
        $timeout(function(){$scope.eventMarkers = markers}, 100)

我的临时解决方法是创建足够长的超时时间,以便在推送新设备之前进行更新,但这不是真正的解决方案,并且在实际设备上效果不佳。推动空的标记数组也不起作用。似乎我必须使用.setMap(null)但找不到任何有关如何以及在何处的文档。

// Removes the markers from the map, but keeps them in the array.
function clearMarkers() {
  setAllMap(null);
// Deletes all markers in the array by removing references to them.
function deleteMarkers() {
  clearMarkers();
  markers = [];