Udało mi się to zrobić za pomocą publicznej tabeli Fusion Table World Country Boundaries.kml.
Musisz dodać go do mapy jako Fusion Table Layer.
pierwsze zainicjować mapę pomniejszeniu prosto, skupionego więc widzimy, większość krajów:
var map = new google.maps.Map(document.getElementById('map-canvas'), {
center: new google.maps.LatLng(30,0),
zoom: 2,
mapTypeId: google.maps.MapTypeId.ROADMAP
});
Następnie dodać FusionTablesLayer
:
var world_geometry = new google.maps.FusionTablesLayer({
query: {
select: 'geometry',
from: '1N2LBk4JHwWpOY4d9fobIn27lfnZ5MDy-NoqqRpk'
},
map: map,
suppressInfoWindows: true
});
To wygląda następująco:
w odniesieniu do:
Czy istnieje możliwość, aby wygasić inny, nie używane krajach?
Jeśli spojrzeć na the Fusion Table zobaczysz tam są kolumny dla Name
i ISO_2DIGIT
. Możemy je filtrować, przekazując stan where
do FusionTablesLayer
, np.g:
query: {
select: 'geometry',
from: '1N2LBk4JHwWpOY4d9fobIn27lfnZ5MDy-NoqqRpk',
where: "ISO_2DIGIT IN ('US', 'GB', 'DE')"
},
Aby dać:
ktoś miał podobne pytanie (http://stackoverflow.com/questions/2956355/highlight-polygon-and-tint-rest-of-map-using-google-maps/2958856#2958856) jakiś czas temu . Jeśli masz współrzędne dla granicy, możesz odwrócić wielokąt za pomocą metody w mojej odpowiedzi na to pytanie. Jeśli nie masz współrzędnych dla granicy, możesz prawdopodobnie znaleźć je gdzieś w Internecie, lub narysować granicę samodzielnie, używając map Google "Moje miejsca" i uzyskać współrzędne. – Mark