2011-12-29 40 views
26

Tôi có câu hỏi chung về Google Maps. Tôi muốn sử dụng Google Maps chỉ dành cho Đức, nhưng tất nhiên các nước láng giềng cũng được hiển thị. Biên giới của Đức hiếm khi nhìn thấy được.Làm nổi bật toàn bộ các quốc gia trong Google Maps

Có khả năng làm mờ các quốc gia khác, không được sử dụng không?

+1

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

Trả lời

42

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:

all countries


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 NameISO_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:

filter countries with where

+2

Ngay cả khi bạn thay đổi màu sắc, điều này là khá xấu xí. Đặc biệt khi lớp trải qua các tên quốc gia. –

+1

Bạn tạo một điểm hợp lệ, tôi đã tạo [vấn đề tại đây] (https://code.google.com/p/fusion-tables/issues/detail?id=1308). – dukedave

+0

Có thể chọn màu nổi bật không? –

0

Nếu bạn chỉ muốn một bản đồ của Đức tại sao không sử dụng này:

http://jvectormap.com/maps/countries/germany/

Đức đã có sẵn

+0

Tôi cần tất cả các chi tiết có trong Google Maps. – Armin

+0

bạn có thể vui lòng xây dựng yêu cầu chính xác của bạn là gì không. Không nghi ngờ gì về bản đồ google luôn là câu trả lời, tôi chỉ tự hỏi liệu vấn đề của bạn có thể được giải quyết với giải pháp loại bản đồ khác hay không – defau1t

+0

Được rồi, tôi đã mã hóa giải pháp bản đồ dựa trên vector cho khách hàng. tạo các cụm (http://goo.gl/LvfFN - bản đồ ở bên trái). Khách hàng muốn thêm một ngụ ý gmaps. Bạn có muốn hỏi anh ta tại sao không? Tôi cho rằng đây không phải là một phần của câu hỏi ban đầu của tôi! – Armin

1

Hiện nay (API phiên bản 3) dường như tồn tại không có khả năng để tăng border- độ dày cho từng quốc gia.

2

Cũ câu hỏi, nhưng: phản Map Charts API của Google trông giống như một giải pháp tốt hơn, nếu bạn không cần bản đồ để có thể kéo:

https://developers.google.com/chart/image/docs/gallery/new_map_charts

Ví dụ: https://chart.googleapis.com/chart?cht=map:fixed=-60,0,80,-35&chs=600x350&chld=CA-BC|CN|IT|GR|US-UT&chdl=Vancouver|Beijing|Torino|Athens|Salt+Lake+City&chco=B3BCC0|5781AE|FF0000|FFC726|885E80|518274&chtt=Last+Five+Olympic+Hosts&chm=f2010+Winter,000000,0,0,10|f2008+Summer,000000,0,1,10|f2008+Winter,000000,0,2,10,1,:-5:10|f2004+Summer,000000,0,3,10|f2004+Summer,000000,0,4,10

enter image description here

api này sẽ tiếp tục làm việc tại kẻo đến tháng Tư năm 2015: https://developers.google.com/chart/terms

Quan trọng: Charts Hình ảnh phần các công cụ Chart Google đã chính thức phản đối như của ngày 20 tháng 4, 2012. Nó sẽ tiếp tục hoạt động theo chính sách không dùng nữa của chúng tôi.

Các vấn đề liên quan