2012-05-09 12 views
7

/ゾーンのポリゴンの境界線を取得し、私はGoogleマップAPI v3で簡単な検索を行うと、下図のような色のポリゴンで、結果としてマップを取得したい:Googleマップは - 近所

検索:ピニェイロス、サンパウロパウロ

enter image description here

答えて

1

短い答えは:いいえ、GoogleマップAPIは、その機能を提供していません。

これを実装する方法の1つは、関心のある空間データ(ポリゴン)を見つけてデータベースにロードし(理想的には空間クエリをサポートする)、AJAX経由でデータベースにクエリを実行して機能を追加することです対応するプッシュピンとともに、KMLLayerのジオメトリをマップに追加します。

+0

[GoogleマップJavascript API v3]の機能リクエスト(https://code.google.com/p/gmaps-api-issues/issues/detail?id=109) – geocodezip

0

これはウェブサイトfunda.nlで確認できます。個々のプロパティを選択すると、選択したプロパティの周辺にポリゴンが描画されたGoogleマップも表示されます。

7

データをWikiMapiaデータで取得しました。

手順は次のとおりです。WikiMapia

  • オープン。
  • F12またはCtrl+Shift+Iを押します。

enter image description here

  • したい場所を検索します。
  • 近隣の右ボタンをクリックし、Edit Polyを選択します。 enter image description here
  • 開発ツールのNetworkをクリックして、フィルタをgetPolygonでクリックしてください。以下のように見える enter image description here
  • コピーサーバーの応答:Wikimapia.Parser.Itiles.prototype.decodePolygon("Copyed text here");

  • を押して、ポイントを持つオブジェクトを返します。このコンソールの後に実行するために入力します。そして、 enter image description here

  • は、機能を実行するためにConsoleタブに移動します(ポリの道)。

私はJSON.stringifyを使用してJSONのオブジェクトを変換します。

例:上記

JSON.stringify(Wikimapia.Parser.Itiles.prototype.decodePolygon("-619402099;-109032887;02fe8953fffe5a000ae5fe379a000fedffd250000e40ffd6050007f7ffeff2001925ffd59b001f6fffdc310012dcffed10003b82ffd9b9005514ffc4520053d2ffc807000c92fff82dfffde7000e670005070012ef0009390021bf000572001358fffc3a001a57fffa210013c1ffff940036530008610022fc000284004732fff5f0001fb1fff2960013c1fff80800594efffde7002c72000f16004b5000204600416f0013b2002292")) 

コードはJSON(JsonFormatterにおけるくぼみ)を返します:

{ 
    "points":[ 
     { 
     "lat":-10.9032887, 
     "lng":-61.9402099 
     }, 
     { 
     "lat":-10.9032466, 
     "lng":-61.9306183 
     }, 
     { 
     "lat":-10.8915629, 
     "lng":-61.9308972 
     }, 
     { 
     "lat":-10.8903934, 
     "lng":-61.9313049 
     }, 
     { 
     "lat":-10.8893188, 
     "lng":-61.9316697 
     }, 
     { 
     "lat":-10.8889079, 
     "lng":-61.9318736 
     }, 
     { 
     "lat":-10.8878227, 
     "lng":-61.9325173 
     }, 
     { 
     "lat":-10.8869061, 
     "lng":-61.933322 
     }, 
     { 
     "lat":-10.8864214, 
     "lng":-61.9338048 
     }, 
     { 
     "lat":-10.8854416, 
     "lng":-61.9353282 
     }, 
     { 
     "lat":-10.8839139, 
     "lng":-61.9375062 
     }, 
     { 
     "lat":-10.8824811, 
     "lng":-61.939652 
     }, 
     { 
     "lat":-10.8822809, 
     "lng":-61.9399738 
     }, 
     { 
     "lat":-10.8826496, 
     "lng":-61.9399202 
     }, 
     { 
     "lat":-10.8831343, 
     "lng":-61.9400489 
     }, 
     { 
     "lat":-10.8839982, 
     "lng":-61.940285 
     }, 
     { 
     "lat":-10.8844934, 
     "lng":-61.9404244 
     }, 
     { 
     "lat":-10.8851677, 
     "lng":-61.9403279 
     }, 
     { 
     "lat":-10.8856734, 
     "lng":-61.9401777 
     }, 
     { 
     "lat":-10.8870641, 
     "lng":-61.940167 
     }, 
     { 
     "lat":-10.8879597, 
     "lng":-61.9403815 
     }, 
     { 
     "lat":-10.8897823, 
     "lng":-61.9404459 
     }, 
     { 
     "lat":-10.8905936, 
     "lng":-61.9401884 
     }, 
     { 
     "lat":-10.8910993, 
     "lng":-61.9398451 
     }, 
     { 
     "lat":-10.8933855, 
     "lng":-61.9396412 
     }, 
     { 
     "lat":-10.8945233, 
     "lng":-61.9395876 
     }, 
     { 
     "lat":-10.8964513, 
     "lng":-61.9399738 
     }, 
     { 
     "lat":-10.8981264, 
     "lng":-61.9408 
     }, 
     { 
     "lat":-10.8990114, 
     "lng":-61.9413042 
     } 
    ], 
    "bounds":{ 
     "left":-61.9413042, 
     "bottom":-10.9032887, 
     "right":-61.9306183, 
     "top":-10.8822809, 
     "centerLatLng":null 
    } 
} 

最後IはWKTにJSONを回すためにこのregexr.com/3c5m2ような正規表現を使用します。私はJSON全体を"points"の配列のオブジェクトだけをRegexにコピーしません。 RegExrで、置き換えられたテキストをコピーしてPOLYGON((pastehere))に貼り付けます。

重要!正規表現を適用した後、最後のポイントの最初のポイントを繰り返す必要があります。

-61.956523060798645 -10.877613428213532、-61.95640504360199 -10.877718788854143、-61.956791281700134 -10.878393096072424、-61.95735991001129 -10.87805594265392、-61.95682346820831 -10.877339490373695、-61.956523060798645 -10.877613428213532

次に、あなたのような何かを得ますこれは:

POLYGON((-61.956523060798645 -10.877613428213532,-61.95640504360199 -10.877718788854143,-61.956791281700134 -10.878393096072424,-61.95735991001129 -10.87805594265392,-61.95682346820831 -10.877339490373695,-61.956523060798645 -10.877613428213532)) 

これはデータベースtに挿入できます帽子はWKT(MySQLのような)をサポートします。

WikiMapiaにはAPIがあります。このプロセスはすべて自動的に実行できますが、これは問題なく動作します。

関連する問題