3

Estately.comで得られる効果と同様に、Googleマップに「ネガティブ」オーバーレイを実装しようとしています。基本的に、収集したKMLデータからマッピングポリゴンを正常に作成できました。複数のパスがある場合、それらはうまく作成されます。

したがって、私が持っている例をモデル化するために、最初に、polygonCoords(LatLngオブジェクトの配列の配列)から自分の領域の周りに一連のpolyLineを作成します。

for (var d = 0 ; d < polygonCoords.length ; d++) 
{
  var b = new google.maps.Polyline( {
                                    path: polygonCoords[d],
                                    strokeWeight: 4,
                                    strokeColor: "#4F6D8F",
                                    strokeOpacity: 1,
                                    map: map
                                   });
}

次のように定義された「ネガティブスペース」ポリゴンがあります。

function negativeSpaceBoundary()
{
  return [new google.maps.LatLng(10, -170), 
          new google.maps.LatLng(10, -50), 
          new google.maps.LatLng(80, -50), 
          new google.maps.LatLng(80, -170), 
          new google.maps.LatLng(10, -170)]
};

そこで、その負のスペースポリゴンをpolygonCoords配列にシフト解除し、ポリゴンを描画しようとします。

negativeSpace = new google.maps.Polygon( {
                                           path: polygonCoords,
                                           strokeWeight: 0,
                                           strokeOpacity: 1,
                                           strokeColor: "#4F6D8F",
                                           fillColor: "#000000",
                                           fillOpacity: 0.2,
                                           clickable: false,
                                           map: map
                                         });

基本的に、私が望んでいるのは、最初のpolyLineのセットが負のスペースポリゴンに「穴を開ける」ことです。そのため、基本的に都市の境界を覆うオーバーレイはありません。Estately.comにアクセスし、「アリゾナ州パラダイスバレー」を検索すると、効果を確認できます。

いくつかのバリエーション(ポリゴンとポリライン、塗りつぶしの色と不透明度の違いなど)を試しましたが、サンプルに表示されている効果は得られません。

何か案は?ところで、v3APIを使用します。

ありがとう、アンディ

4

1 に答える 1

0

両方のパスが同じポリゴン内にある必要があります。内側の穴パスの巻き方向は、外側のパスの反対方向にする必要があります。

http://www.geocodezip.com/v3_polygon_example_donut.html

http://www.geocodezip.com/geoxml3_test/v3_geoxml3_kmltest_nosidebar.html?lat=37.155939&lng=-79.497071&zoom=6&type=m&filename=http://www.geocodezip.com/geoxml3_test/virginia_inverted_kml.xml

あなたのポリゴン(すべての「穴」は同じようです)。

于 2012-09-20T03:12:47.053 に答える