2016-03-31 27 views
-2

How to get the center of a polygon in google maps v3?Matthew Scharleyの答えが現在正しく表示されていません。私は、緯度/経度のオブジェクトの配列内のサーバーから50-100ポリゴンのコーナー座標を動的にダウンロードしています。ポリゴン中心を決定するための動的ではない手動のソリューションが必要です。ポリゴンの中心Google Maps JavaScript API v3

google.maps.Polygon.prototype.my_getBounds=function(){ 
    var bounds = new google.maps.LatLngBounds() 
    this.getPath().forEach(function(element,index){bounds.extend(element)}) 
    return bounds 
} 

console.log(myPolygon.my_getBounds().getCenter()); 

をしている:それはポリゴンの平均の中心を計算し、私は彼の関数から私はconsole.logで見た結果として furiozo によって同じスレッドからの答えは、私のニーズを満たすに接近します自分のプログラムですぐに使うことはできません。私は、コンソールで取得することはこれです

:私は本当に今必要なもの

_.M {} 
    lat: function() 
     arguments: (...) 
     caller: (...) 
     length: 0 
     name: "" 
     prototype: Object 
     __proto__: function() 
     <function scope> 
     Closure 
      a: 45.256705626 
      b: -75.91270512 
     Closure 
     Global: Window 
    lng: function() -- contains same sub-levels as lat: function() -- 
    __proto__: Object 

は緯度での最初の閉鎖レベルの下に座って& Bの緯度/経度の値を取得する方法です。私のコンソールに入っているオブジェクトのfunction()。 (これらの結果をコードで置き換えて手動でチェックしたところ、最初のポリゴンの正しい中心を表しています)。どのようにそれらに到達するための任意のヘルプは非常に高く評価されます。

最終的な結果が(lat、lng)の形式になるように平均ポリゴン中心座標値を動的に取得する方法の最新の解決方法が分かっている場合は、これで一日の節約になります。

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

+1

何を見ていることのLatLngオブジェクトです:あなたは、単にそれにlat()lng()関数を呼び出すされ行うことができます

。なぜ、 'myPolygon.my_getBounds()。getCenter().lat()'と 'myPolygon.my_getBounds()。getCenter().lng()'を使用していないのでしょうか? – duncan

+0

@duncan WOW、ありがとう!これはとても簡単でした!私はこれを研究するのに4時間を費やしました。はい、これは私の問題を完全に解決します。私はこれを初めて知ったので、このLatLngオブジェクトをどう扱うべきか分かりませんでした。もう一度ありがとう! – PunainenAurinko

答えて

0

あなたが見ているのはLatLngオブジェクトです。

var lat = myPolygon.my_getBounds().getCenter().lat(); 
var lng = myPolygon.my_getBounds().getCenter().lng();