1

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]

ここで私が間違っていることはありますか?さらに情報を提供する必要がある場合はお知らせください。

PS マーカーを実際に削除するには setMap(null) を実行する必要があることを理解しています。最初にこのステップを処理したいと思います。

4

0 に答える 0