リーフレット ディレクティブを使用して、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)の最後のプロジェクトが開きます。
各反復でスコープ値をバインドするにはどうすればよいですか?,各マーカーで正しいプロジェクトを開くことができます