1

我正在使用 angular-google-maps 向我的地图添加标记。我遵循了加载 Maps API 的所有最佳实践,并且我在地图上显示了一组项目。除了删除项目外,一切都运行良好。当我从项目数组中删除一个项目时,所有标记都会消失。我显然做错了什么,但我不明白到底是什么。另一个奇怪的部分:当我添加另一个项目时,标记成功添加到地图中,但它是我能看到的唯一标记。此外,angular-google-map-marker 元素仍然在 dom 中,所以我不确定它们为什么不显示(我尝试将可见性设置为可见,显示为任何内容但不显示)。我的代码如下(Jade/LiveScript)。


索引.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")

应用程序.ls

angular.module("appName", ["uiGmapgoogle-maps", "appController"])
  .config (uiGmapGoogleMapApiProvider) ->
    uiGmapGoogleMapApiProvider.configure({
        v: "3.17",
        libraries: "weather,geometry,visualization"
    })

应用控制器.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]

有什么想法我在这里做错了吗?让我知道我是否应该提供更多信息。

PS我知道我必须做一个 setMap(null) 来实际删除标记,我只想先处理这一步。

4

0 回答 0