2017-05-26 5 views
-1

私はngmapを使用しています。私はKMLポリゴンファイルをインポートするたびに、ポリゴンがマップ上になくなります。 ポリゴンのズームに関する問題があります。 ポリゴンの中心(緯度と経度)を計算する方法はありますか? もしそうでなければ、ngmapに描画した後にポリゴンをズームインする必要があります。ngmapポリゴンの中心を計算する方法は?

は、KMLレイヤが追加され、kml-layerディレクティブのpreserve-viewport属性がtrueに設定され、マップが自動的にレイヤビューポートに基づいて中心になっているときはいつでも(それはまた、明示的に中央を指定する必要がないことを意味し、あなたに

答えて

0

ありがとうございました)

はKML層の中心を決定する:kml-layer指令のid属性は、KMLレイヤを参照するように設定

1)

<kml-layer preserve-viewport="true" id="myLayer" url="http://googlemaps.github.io/js-v2-samples/ggeoxml/cta.kml"></kml-layer> 

2)層がレンダリングされると、KML層のインスタンスとgoogle.maps.KmlLayer.getDefaultViewport機能を介して、次いで中央得る:

NgMap.getMap().then(function(map) { 
     var layer = map.kmlLayers["myLayer"] 
     var center = layer.getDefaultViewport().getCenter();  
}); 

angular.module('mapApp', ['ngMap']) 
 
    .controller('mapCtrl', function($scope, NgMap) { 
 

 
     NgMap.getMap().then(function(map) { 
 
      $scope.map = map; 
 
      var layer = map.kmlLayers["myLayer"] 
 
      var center = layer.getDefaultViewport().getCenter(); 
 
      console.log(center.toString()); // 
 
      map.fitBounds(layer.getDefaultViewport()); 
 
     }); 
 
     
 
    });
<script src="https://code.angularjs.org/1.4.8/angular.js"></script> 
 
<script src="https://maps.googleapis.com/maps/api/js"></script> 
 
<script src="https://rawgit.com/allenhwkim/angularjs-google-maps/master/build/scripts/ng-map.js"></script> 
 

 

 
<div ng-app="mapApp" ng-controller="mapCtrl"> 
 
    <ng-map center="21.876,-27.624" zoom="5" map-type-id="HYBRID" style="display:block; width: 100%; height:100%;"> 
 
    <kml-layer preserve-viewport="true" id="myLayer" url="http://googlemaps.github.io/js-v2-samples/ggeoxml/cta.kml"></kml-layer> 
 
    </ng-map> 
 
</div>

関連する問題