親愛なるプログラマーの皆さん、
リーフレット ディレクティブでマップを作成しようとしています。ここでフィドルを見ることができます。
フィドル
上記のフィドルでは、マップをドラッグすると、マーカーが常に中央に表示されます。しかし、(スクロールを使用して)ズームイン/ズームアウトすると、マップがマウスの領域にズームされ、マーカーの座標が変更されます。
ズームイン/ズームアウトするときに、マップの中心にあるマーカーにマップをズームする (マーカー座標を変更しない) にはどうすればよいですか?
どんな助けでも大歓迎です:)
これはjsコードです:
var app = angular.module('demoapp', ['leaflet-directive']);
app.controller('DemoController', ['$scope', 'leafletData', function($scope, leafletData) {
angular.extend($scope, {
center: {
lat: 51.505,
lng: -0.09,
zoom: 5
},
markers: {
marker: {
lat: 51.505,
lng: -0.09,
draggable: false
}
},
defaults: {
zoomControl: false
}
})
$scope.$on('leafletDirectiveMap.move', function(event, args) {
var map = args.leafletEvent.target;
var center = map.getCenter();
// Update the marker.
$scope.markers = {
marker: {
draggable: false,
lat: center.lat,
lng: center.lng,
draggable: false
}
};
});
}]);