ディレクティブを使用して Skobbler リーフレットをレンダリングします。
angular.module('app.directives').directive('skm', function()
{
return {
restrict: 'E',
replace: true,
scope: false,
template: '<div></div>',
link: function(scope, element, attrs) {
var map = L.skobbler.map('skm', scope.skm);
// ....
}
}
});
このディレクティブは、さまざまなルート/パーシャルで同様の方法で使用されます。
<skm id="skm"></skm>
バージョン情報:
- スコブラー 2.0
- AngularJS 1.2.16
1ページから2ページに移動するときは問題ありません。ただし、ページ 1 に戻ると、次のようになります。
Error: Map container is already initialized.
マップ オブジェクトを保存し、map.remove()を使用してみました。これにより、エラーは削除されますが、マップのレンダリングが停止します。
FIXED : 以下の私の回答を参照してください。(各パーシャルで一意の ID を使用し、それらを取得します)