/ゾーンのポリゴンの境界線を取得し、私はGoogleマップAPI v3で簡単な検索を行うと、下図のような色のポリゴンで、結果としてマップを取得したい:Googleマップは - 近所
検索:ピニェイロス、サンパウロパウロ
/ゾーンのポリゴンの境界線を取得し、私はGoogleマップAPI v3で簡単な検索を行うと、下図のような色のポリゴンで、結果としてマップを取得したい:Googleマップは - 近所
検索:ピニェイロス、サンパウロパウロ
短い答えは:いいえ、GoogleマップAPIは、その機能を提供していません。
これを実装する方法の1つは、関心のある空間データ(ポリゴン)を見つけてデータベースにロードし(理想的には空間クエリをサポートする)、AJAX経由でデータベースにクエリを実行して機能を追加することです対応するプッシュピンとともに、KMLLayerのジオメトリをマップに追加します。
これはウェブサイトfunda.nlで確認できます。個々のプロパティを選択すると、選択したプロパティの周辺にポリゴンが描画されたGoogleマップも表示されます。
データをWikiMapiaデータで取得しました。
手順は次のとおりです。WikiMapia
F12
またはCtrl+Shift+I
を押します。Edit Poly
を選択します。 Network
をクリックして、フィルタをgetPolygon
でクリックしてください。以下のように見える コピーサーバーの応答:Wikimapia.Parser.Itiles.prototype.decodePolygon("Copyed text 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があります。このプロセスはすべて自動的に実行できますが、これは問題なく動作します。
[GoogleマップJavascript API v3]の機能リクエスト(https://code.google.com/p/gmaps-api-issues/issues/detail?id=109) – geocodezip