O que estou procurando é uma maneira de enfatizar uma determinada área em um mapa do Google Maps, esmaecendo o resto do mundo.
Ouvi falar de uma solução usando 2 polígonos, dos quais 1 é visível e o outro não, e que só funciona se o mapa for estático (sem movimento do mapa). No entanto, eu quero que o usuário seja capaz de ampliar e arrastar o mapa.
Também estou interessado em outras maneiras em que não pensei em enfatizar uma área.
atualizar:
Quando tento a solução postada por radek (ou seja, criando um KML com um polígono com um outerBoundaryIs (maior que a exibição) e um innerBoundaryIs (sendo uma área a ser enfatizada)), recebo o problema de que, quando eu zoom, áreas retangulares não são cobertas por o polígono circundante mais. Vejo:
Alguém com experiência / solução para isso?
update2:
Finalmente tive tempo de testar a solução da radek usando o Google Fusion Tables. No começo, tive os mesmos problemas com os blocos ausentes como no KML (veja a figura acima), mas após outra carga, parece que ele havia pegado e estava mostrando os blocos totalmente corretos. Tenho a sensação de que o jquery hack em sua solução foi feito para blocos que não estavam carregando:
setTimeout(function(){
$("img[src*='googleapis']").each(function() {
$(this).attr("src",$(this).attr("src")+"&"+(new Date()).getTime());
});
}, 5000);
Como os ladrilhos pareciam carregar após uma atualização, eu mesmo não usei o hack. Se o erro ocorrer para cada novo usuário, experimentarei com ele.
se a ferramenta que a @radek postou não o ajudou, existe outra que usa os recursos simples do google.maps.Polygon: http://maps.vasile.ch/geomask/
Basicamente, ele segue o algoritmo do número do enrolamento: o polígono da máscara (universo) é digitalizado no sentido horário e todos os polígonos internos são digitalizados no sentido anti-horário http://en.wikipedia.org/wiki/Winding_number
fonte