alın:Google Haritalar - bölgelerinin Poligon sınırını/mahalle
Arama: Pinheiros, sao paulo
alın:Google Haritalar - bölgelerinin Poligon sınırını/mahalle
Arama: Pinheiros, sao paulo
kısa cevap: hayır, Google Maps API bu işlevselliği sağlamaz.
Bunu gerçekleştirmenin bir yolu, içinde bulunduğunuz uzamsal verileri (çokgenler) bulmaktır, bir veritabanına (ideal olarak mekansal sorguları destekler) yükler ve sonra da özelliği eklemek için veritabanını AJAX aracılığıyla sorgulamaktır. Haritaya, ilgili itme pimi ile birlikte KMLLayer olarak geometri.
Bunu bir web sitesinde funda.nl adresinden öğrenebilirsiniz. Tek bir mülk seçtiğinizde, seçilen mülkün çevresine çokgen çizildiği bir Google Haritası da gösterir.
WikiMapia verilerini kullanarak anladım.
adımlar şunlardır: WikiMapia
F12
veya Ctrl+Shift+I
tuşlarına basın.
Edit Poly
'u seçin. Network
'a tıklayın ve getPolygon
'a göre filtreleyin. benziyor Kopya sunucu yanıtı: Wikimapia.Parser.Itiles.prototype.decodePolygon("Copyed text here");
işlevi gerçekleştirmek için Console
sekmesine gidin (Poly'un yolu).
Nesneyi JSON'a dönüştürmek için JSON.stringify
kullanıyorum.
Örnek:
JSON.stringify(Wikimapia.Parser.Itiles.prototype.decodePolygon("-619402099;-109032887;02fe8953fffe5a000ae5fe379a000fedffd250000e40ffd6050007f7ffeff2001925ffd59b001f6fffdc310012dcffed10003b82ffd9b9005514ffc4520053d2ffc807000c92fff82dfffde7000e670005070012ef0009390021bf000572001358fffc3a001a57fffa210013c1ffff940036530008610022fc000284004732fff5f0001fb1fff2960013c1fff80800594efffde7002c72000f16004b5000204600416f0013b2002292"))
kodu, yukarıda (JsonFormatter girinti) bu JSON döndürür:
{
"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
}
}
Son olarak WKT içine JSON açmak için bu regexr.com/3c5m2 gibi normal ifade kullanımı. JSON'u yalnızca Regex'teki "points"
dizisindeki nesneleri kopyalamıyorum. RegExr'de değiştirilen metni kopyalayıp POLYGON((pastehere))
'a yapıştırın.
Önemli! Düzenli ifadeyi uyguladıktan sonra, son noktayı ilk noktayı tekrarlamanız gerekir. -61,956523060798645 -10,877613428213532
, -61,95640504360199 -10,877718788854143, -61,956791281700134 -10,878393096072424, -61,95735991001129 -10,87805594265392, -61,95682346820831 -10,877339490373695,
-61,956523060798645 -10,877613428213532
Sonra gibi bir şey olsun Bu, t veritabanına eklenebilir: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))
şapka WKT'yi (MySQL gibi) destekler.
WikiMapia'ın bir API vardır, bu işlemin tümü otomatik olabilir, ancak bu benim için iyi çalışır.
[Google Haritalar Javascript API v3] için özellik isteği (https://code.google.com/p/gmaps-api-issues/issues/detail?id=109) – geocodezip