2017-09-01 5 views
0

J'ai essayé d'ajouter une logique où lorsque vous commencez à faire glisser la carte autour du marqueur restera au centre de la carte, puis retourner le lat et le lng de la nouvelle position. S'il vous plaît voir le Plunker de ce que je l'ai fait grâce PlunkerMarqueur de feuillet central toujours quand la carte se déplace

var location = {lat: -33.8830, lng: 151.2166}; 

var mainMarker = { 
      lat: location.lat, 
      lng: location.lng, 
      focus: true, 
      draggable: false 
    }; 

    var vm = angular.extend(this, { 
     center: { 
      lat: location.lat, 
      lng: location.lng, 
      zoom: 17 
     }, 
     markers: { 
      mainMarker: angular.copy(mainMarker) 
     }, 
     defaults: { 
      zoomControl: false 
     }, 
     tiles: { 
      url: 'http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png' 
     } 
    }); 

Répondre

0

La position du marqueur pourrait être mis à jour (positionné dans le centre de la carte) quand carte se déplace comme celui-ci:

$scope.$on('leafletDirectiveMap.drag', function(event,args){ 
     //get the Leaflet map from the triggered event. 
     var map = args.leafletEvent.target; 
     var center = map.getCenter(); //get map center 

     //update(recenter) marker 
     $scope.vm.markers.mainMarker.lat = center.lat; 
     $scope.vm.markers.mainMarker.lng = center.lng; 
}); 

Updated plunker