0

リーフレット ディレクティブを使用して、openStreet マップにマップを表示しています。すべてのマーカーを一覧表示するには、私のコードは次のようになります。

$scope.goTo = function() {
    restAPI.getSomething().success(function(data) {
        var anArray = data.lists;
        console.log(anArray);
        var anotherList = {};
        angular.forEach(anArray, function(value, key) {
            if (value.geolocation) {
                $scope.project = value;
                anotherList[anArray[key].ao] = {
                    lat: value.lat,
                    lng: value.lng,
                    focus: false,
                    draggable: false,
                    icon: icon,
                    message: '<button type="button" ng-click="openProject(project)">' + value.ao + '</button> {{project.ao}}',
                    clickable: true
                }
            }
        });
        $scope.map.anotherList = anotherList;
    });
}

ここでそのメッセージテンプレートに関数呼び出しを含むボタンを追加しています。テンプレートで変数を渡すことを理解したので、Scope が解決策ですが、ここでは、すべてのマーカーで value.ao の名前は異なりますが、project.ao は同じです.. 。(どうして ????)

各マーカーをクリックすると、配列(anArray)の最後のプロジェクトが開きます。

各反復でスコープ値をバインドするにはどうすればよいですか?,各マーカーで正しいプロジェクトを開くことができます

4

1 に答える 1