Tôi có thể thực hiện việc này bằng cách sử dụng Bảng kết hợp công khai World Country Boundaries.kml.
Bạn sẽ cần thêm số này làm Fusion Table Layer vào bản đồ của mình.
Thứ nhất khởi tạo một bản đồ thu nhỏ ngay, làm trung tâm vì vậy chúng tôi có thể thấy hầu hết các nước:
var map = new google.maps.Map(document.getElementById('map-canvas'), {
center: new google.maps.LatLng(30,0),
zoom: 2,
mapTypeId: google.maps.MapTypeId.ROADMAP
});
Tiếp thêm FusionTablesLayer
:
var world_geometry = new google.maps.FusionTablesLayer({
query: {
select: 'geometry',
from: '1N2LBk4JHwWpOY4d9fobIn27lfnZ5MDy-NoqqRpk'
},
map: map,
suppressInfoWindows: true
});
Đó trông như thế này:
Về Với:
Có khả năng làm mờ dần các nước khác, không được sử dụng?
Nếu bạn nhìn vào the Fusion Table bạn sẽ thấy có các cột cho Name
và ISO_2DIGIT
. Chúng tôi có thể lọc chúng bằng cách chuyển điều kiện where
đến FusionTablesLayer
, e.g:
query: {
select: 'geometry',
from: '1N2LBk4JHwWpOY4d9fobIn27lfnZ5MDy-NoqqRpk',
where: "ISO_2DIGIT IN ('US', 'GB', 'DE')"
},
Để cung cấp:
Ai đó có câu hỏi tương tự (http://stackoverflow.com/questions/2956355/highlight-polygon-and-tint-rest-of-map-using-google-maps/2958856#2958856) một lúc trở lại . Nếu bạn có tọa độ cho đường viền, bạn có thể đảo ngược đa giác bằng cách sử dụng phương thức trong câu trả lời của tôi cho câu hỏi đó. Nếu bạn không có tọa độ cho đường viền, bạn có thể tìm thấy chúng ở đâu đó trên web hoặc tự vẽ đường viền bằng cách sử dụng bản đồ google "Địa điểm của tôi" và nhận tọa độ. – Mark