我正在使用angular-google-maps将标记添加到我的地图中。我已经遵循了加载Maps API的所有最佳做法,并且我在地图上显示了一组项目。一切都很好,除了项目删除。当我从项目数组中删除项目时,所有标记都会消失。我显然做错了什么,但我不明白到底是什么。另一个奇怪的部分:当我添加另一个项目时,标记成功添加到地图中,但它是我能看到的唯一标记。此外,angular-google-map-marker元素仍然在dom中,所以我不确定它们为什么不显示(我尝试将可见性设置为可见,显示任何内容但没有显示)。我的代码如下(Jade / LiveScript)。
index.jade
ui-gmap-google-map(center="map.center", zoom="map.zoom")
ui-gmap-marker(ng-repeat="item in items", idKey="item._id", coords="item.location")
app.ls
angular.module("appName", ["uiGmapgoogle-maps", "appController"])
.config (uiGmapGoogleMapApiProvider) ->
uiGmapGoogleMapApiProvider.configure({
v: "3.17",
libraries: "weather,geometry,visualization"
})
appController.ls
appController = ($scope, $timeout, $mdSidenav, $http, $log, $mdDialog) ->
...
$scope.items =
"id1":
_id: "id1"
location:
type: "Point"
coordinates: [-71, 42]
...
$scope.sendItemReq = (ev) ->
$http($scope.itemReq)
.success (data, status, headers, config) ->
currentItemId = $scope.currentItem._id
delete $scope.items[currentItemId]
我在这里做错了什么想法?如果我应该提供更多信息,请告诉我。
P.S。我知道我必须做一个setMap(null)来实际删除标记,我只想先处理这个步骤。