2016-08-03 12 views
0

多角形のkmlファイルがあります。私はGoogleマップを作成し、ドキュメントに続いてこのkmlを読み込むように管理しました。今Googleマップから多角形を取得

(function initMap() { 
     var map = new google.maps.Map(document.getElementById('map'), { 
      zoom: 11, 
      center: {lat: 41.876, lng: -87.624} 
     }); 

     var ctaLayer = new google.maps.KmlLayer({ 
      url: 'http://myurl.dev/polygons.kml', 
      map: map 
     }); 

})();  

、私はポイントは(緯度、長い)それらのいくつかの範囲内であるかどうか尋ねるためにこのkmlからすべてのポリゴンを取得したいです。

問題は、マップに含まれるすべての図形を取得するためのドキュメントが見つかりませんでした。これは可能ですか?

答えて

1

マップ上のポリゴンにKmlLayerを使用して配置すると、ポリゴンにアクセスすることはできません。google.maps.KmlLayerはタイルベースのレンダリングを使用しているため、クリック以外のポリゴンの座標にアクセスすることはできません。

ただし、特にKMLが複雑な場合は、ポリゴンをネイティブgoogle.maps.Polygonオブジェクトとしてレンダリングすると(サードパーティのライブラリと同じように)パフォーマンスが低下する可能性があります。

geoxml3またはgeoxml-v3のようなサードパーティのKMLパーサーを使用して、ポリゴンをネイティブのgoogle.maps.Polygonオブジェクトとしてレンダリングし、その中心を取得することができます。複雑なKMLのパフォーマンスに問題があります。

example using geoxml3

関連する問題