To, czego szukam, to sposób na podkreślenie określonego obszaru na mapie Google Maps poprzez wyszarzenie reszty świata.
Słyszałem o pewnym rozwiązaniu polegającym na użyciu 2 wielokątów, z których 1 jest widoczny, a drugi nie i że działa tylko wtedy, gdy mapa jest statyczna (brak ruchu mapy). Jednak chcę, aby użytkownik mógł powiększać i przeciągać mapę.
Interesują mnie również inne sposoby, w których nie chciałem podkreślać danego obszaru.
aktualizacja:
Kiedy wypróbowuję rozwiązanie opublikowane przez radek (tj. Tworzenie pliku KML z wielokątem z externalBoundaryIs (większy niż widok) i innerBoundaryIs (będący obszarem do podkreślenia)) mam problem, że kiedy powiększam, prostokątne obszary nie są objęte otaczający wielokąt. Widzieć:
Ktoś z doświadczeniem / rozwiązaniem tego?
aktualizacja2:
W końcu miałem czas przetestować rozwiązanie radka za pomocą Google Fusion Tables. Na początku miałem takie same problemy z brakującymi kafelkami jak z KML (patrz obrazek powyżej), ale po kolejnym załadowaniu wygląda na to, że się podniósł i wyświetlał płytki całkowicie poprawnie. Mam wrażenie, że hack jquery w jego rozwiązaniu był przeznaczony dla płytek, które się nie ładowały:
setTimeout(function(){
$("img[src*='googleapis']").each(function() {
$(this).attr("src",$(this).attr("src")+"&"+(new Date()).getTime());
});
}, 5000);
Ponieważ płytki wydawały się ładować po odświeżeniu, sam nie użyłem hacka. Jeśli błąd wystąpi dla każdego nowego użytkownika, będę z nim eksperymentować.
jeśli narzędzie opublikowane przez @radek ci nie pomogło, istnieje inne narzędzie, które korzysta ze zwykłych funkcji google.maps.Polygon: http://maps.vasile.ch/geomask/
Zasadniczo postępuje zgodnie z algorytmem uzwojenia: wielokąt maski (wszechświata) jest digitalizowany zgodnie z ruchem wskazówek zegara, a wszystkie wielokąty wewnętrzne są przekształcane cyfrowo w kierunku przeciwnym do ruchu wskazówek zegara http://en.wikipedia.org/wiki/Winding_number
źródło