angular-google-maps标记删除会删除所有标记

时间:2014-12-01 04:15:53

标签: javascript angularjs google-maps google-maps-api-3 angular-google-maps

我正在使用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)来实际删除标记,我只想先处理这个步骤。

0 个答案:

没有答案