2013-02-19 12 views
5

ポリラインとポリゴンの両方のlatinng座標を取得しようとしています。いずれかのオブジェクトの描画を完了した後、私はデータベースにlatlngを格納したいと思いますが、今は単にテキスト領域にlatlngを表示しようとしています。私はこれをマーカ、長方形、円で簡単にやっていますが、ポリラインとポリゴンの用語は私には困惑しています。私が図面を完成すると、私はaddDomListener(drawingManager、 'polygoncomplete'、...ポリゴンを使って描画したすべてのポリゴンを反復処理していきます)各ポリゴンに対して、次に座標軸の配列を繰り返します。 Googleドキュメントページ上のバミューダトライアングルの例を試してみました。 Bermuda Example 私はドキュメント上で何度も読んだことがあるし、ちょうど私が行方不明ですか見て傾ける。すべてのヘルプは高く評価される。getpaths()ポリゴンgoogle maps api

//Save polygons data to text area 
       var polygons = []; 

       google.maps.event.addDomListener(drawingManager, 'polygoncomplete', function(polygon) { 
        polygons.push(polygon); 
       }); 

       google.maps.event.addDomListener(savebutton, 'click', function() { 
        document.getElementById("savedatapolygon").value = ""; 
        for (var i = 0; i < polygons.length; i++) { 
         var polygonBounds = polygons[i].getPath(); 
         var xy; 
         // Iterate over the polygonBounds vertices. 
         for (var i = 0; i < polygonBounds.length; i++) { 
          xy = polygonBounds.getAt(i); 
          contentString += '<br>' + 'Coordinate: ' + i + '<br>' + xy.lat() +',' + xy.lng(); 
         } 
         document.getElementById("savedatapolygon").value += "polygon("; 
         document.getElementById("savedatapolygon").value += contentString; 
         document.getElementById("savedatapolygon").value += ")"; 

        } 
     }); 
+0

どのようなjavascriptエラーが発生しますか? [この例](http://www.geocodezip.com/blitz-gmap-editor/test5.html)は、DrawingManagerのすべてのオブジェクトをJSONまたはKMLとしてエクスポートします。 – geocodezip

+0

完璧!これは私に多くの時間を節約します。私は仕事でテキストパッドを使用していました。なぜなら、私には利用可能なものがあり、それ以外のものはダウンロードできないためです。/ – ddalbus

+0

ほとんどのブラウザはエラーを報告するjavascriptコンソールを持っていますが、報告されたエラーは時には必要なものすべてです。 – geocodezip

答えて

16

Google Maps PolygonクラスはMVCArrayを返します。 MVCArrayforEachメソッドを使用してループする必要があります。

var polygonBounds = polygons[i].getPath(); 
// Iterate over the polygonBounds vertices. 
polygonBounds.forEach(function(xy, i) { 
    contentString += '<br>' + 'Coordinate: ' + i + '<br>' + xy.lat() +',' + xy.lng(); 
}); 
document.getElementById("savedatapolygon").value += "polygon("; 
document.getElementById("savedatapolygon").value += contentString; 
document.getElementById("savedatapolygon").value += ")";