2017-05-05 6 views
1

J'utilise ngmap dans mon application. J'ai été en mesure d'afficher un polygone à partir de ses coordonnées en utilisant shape. Maintenant, je veux rendre ce polygone modifiable. J'ai référencé ce link et mon polygone est maintenant modifiable. Le problème est que je ne peux pas trouver comment puis-je obtenir les nouvelles coordonnées.Comment obtenir de nouvelles coordonnées de la forme éditée et calculer dynamiquement le centre

Y a-t-il des événements en tant que onMapOverlayCompleted dans le drawing-manager?

Comment puis-je obtenir les nouvelles coordonnées?

Aussi comment puis-je calculer la valeur de l'attribut center dynamiquement

+0

est ici le même problème comme le vôtre, mais en utilisant la méthode différente. Voici le [JSFiddle] (https://jsfiddle.net/xvbLr993/14/) si vous voulez essayer. Vous pouvez dessiner tout type de forme et son dynamiquement. J'espère que ça aide :) –

Répondre

0

Cela dépend du type de forme, en cas de Rectangle pour déterminer les limites redimensionnées, vous pouvez utiliser l'événement bounds_changed. L'exemple suivant montre comment imprimer la taille du rectangle redimensionnée:

var app = angular.module('myapp', ['ngMap']); 
 
app.controller('DrawingManagerCtrl', function (NgMap) { 
 
    var vm = this; 
 
    
 
    NgMap.getMap().then(function (map) { 
 
      vm.map = map; 
 
    }); 
 

 
    
 

 
    vm.rectShapeResized = function (e) { 
 
     var rect = vm.map.shapes[0]; //get the first instance of shape 
 
     console.log(rect.getBounds().toString()); //print a new bounds 
 
    }; 
 
});
<script src="https://maps.google.com/maps/api/js?libraries=placeses,visualization,drawing,geometry,places"></script> 
 
<script src="https://code.angularjs.org/1.3.15/angular.js"></script> 
 
<script src="https://rawgit.com/allenhwkim/angularjs-google-maps/master/build/scripts/ng-map.js"></script> 
 

 

 
<div ng-app="myapp" ng-controller="DrawingManagerCtrl as vm"> 
 
    <ng-map zoom="7" center="48.8588377,2.2775177" map-type-id="ROADMAP" street-view-control-options="{position: 'LEFT_CENTER'}"> 
 
     
 
     <shape name="rectangle" 
 
      editable="true" on-bounds_changed="vm.rectShapeResized()" 
 
      bounds="[ [48.190, 2.649], [48.899, 3.443] ]"> 
 
      </shape> 
 
    </ng-map> 
 
</div>

+1

Pouvez-vous s'il vous plaît vérifier cela http://stackoverflow.com/questions/43942610/ngmap-cluster-change-markers-colors-after-zoom? –