2

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 で無効なデータを受け取りました。

私は非常に単純なものを見落としていますが、何がわからないのですか...リードをいただければ幸いです。

4

1 に答える 1