Javascript 角度传单指令缩放到地图中心的标记
亲爱的程序员们: 我尝试使用传单指令创建地图。你可以在这里看到小提琴。Javascript 角度传单指令缩放到地图中心的标记,javascript,angularjs,zooming,markers,angular-leaflet-directive,Javascript,Angularjs,Zooming,Markers,Angular Leaflet Directive,亲爱的程序员们: 我尝试使用传单指令创建地图。你可以在这里看到小提琴。 在上面的小提琴中,当我拖动地图时,标记将始终位于中心。但当我放大/缩小(使用滚动)时,地图会缩放到鼠标区域,从而更改标记的坐标 当我放大/缩小时,应该如何使地图缩放到地图中心的标记(并且不更改标记坐标) 感谢您的帮助:) 这是js代码: var app = angular.module('demoapp', ['leaflet-directive']); app.controller('DemoController',
在上面的小提琴中,当我拖动地图时,标记将始终位于中心。但当我放大/缩小(使用滚动)时,地图会缩放到鼠标区域,从而更改标记的坐标 当我放大/缩小时,应该如何使地图缩放到地图中心的标记(并且不更改标记坐标) 感谢您的帮助:) 这是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
}
};
});
}]);
您可以尝试以下方法作为开始: 在html中,请确保传递默认值:
<body ng-controller="DemoController">
<leaflet defaults="defaults" center="center" markers="markers" defaults="defaults"></leaflet>
</body>
现在,用户不能用鼠标缩放和拖动,只能使用缩放控件使地图保持居中
在传单文档中,他们说,您可以将
scrollWheelZoom
设置为“中心”
,这将始终缩放到地图的当前中心(这应该是您想要的),但我无法在plunkr上实现这一点。不知道为什么,也许有棱角的传单不支持这个功能 您可以先尝试一下:
在html中,请确保传递默认值:
<body ng-controller="DemoController">
<leaflet defaults="defaults" center="center" markers="markers" defaults="defaults"></leaflet>
</body>
现在,用户不能用鼠标缩放和拖动,只能使用缩放控件使地图保持居中
在传单文档中,他们说,您可以将
scrollWheelZoom
设置为“中心”
,这将始终缩放到地图的当前中心(这应该是您想要的),但我无法在plunkr上实现这一点。不知道为什么,也许有棱角的传单不支持这个功能 谢谢。将scrollWheelZoom设置为“中心”正是我所需要的。我在我的应用程序上测试了它,它运行正常。不知道为什么它在plunkr/JSFIDLE上不起作用。谢谢。将scrollWheelZoom设置为“中心”正是我所需要的。我在我的应用程序上测试了它,它运行正常。但不确定为什么它不能在plunkr/JSFIDLE上工作。。