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) を実行する必要があることを理解しています。最初にこのステップを処理したいと思います。