Leaflet ディレクティブにマーカーを追加しようとしていますが、どういうわけかデフォルトのL.marker()
方法で作成されたマーカーを受け入れません。
ディレクティブは次のように使用されます。
<leaflet markers="markers" center="center" layers="layers" defaults="defaults"></leaflet>
$scope
規定どおりにコントローラーで拡張しています:
angular.extend($scope, {
markers: {},
//markers: { { someName: {lat:52.163815,lng:5.365131} } //this does work
});
後でマーカーを追加すると、どういうわけか機能しません。まず、.markers
オブジェクトは配列ではないため、 を使用して要素を追加することはできませんpush()
。しかし、要素を連想配列として追加しても機能しません:
var marker = L.marker(L.latLng(52.163815, 5.365131));
$scope.markers[0] = marker;
エラーは次のとおりです。
[AngularJS - Leaflet] マーカーの定義が無効です。
[AngularJS - Leaflet] マーカー 0 で無効なデータを受け取りました。
私は非常に単純なものを見落としていますが、何がわからないのですか...リードをいただければ幸いです。