Tôi mới vào bản đồ google api. Tôi muốn các đề xuất về việc đạt được chức năng sau: bất cứ khi nào trang tải, bản đồ sẽ tải trọng tập trung ở Hoa Kỳ. Hãy tưởng tượng một hộp quanh Hoa Kỳ với các vĩ độ/thời gian nhất định chỉ định ranh giới tối thiểu và tối đa. Tôi cần bản đồ để tải ở mức thu phóng thích hợp (và thu phóng cần phải được tắt) sao cho hộp này soạn toàn bộ bản đồ. Về cơ bản, tôi tự hỏi nếu có một chức năng tải bản đồ dựa trên ranh giới lat/long (hoặc một số cách để đạt được điều này), thay vì sau đó tải bản đồ cho một mức độ phóng to.API Google Maps - tải US
11
A
Trả lời
14
Giả sử bạn đang sử dụng v3 API, bạn có thể muốn sử dụng phương pháp fitBounds
như sau:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<title>Google Maps fitBounds</title>
<script src="http://maps.google.com/maps/api/js?sensor=false"
type="text/javascript"></script>
</head>
<body>
<div id="map" style="width: 500px; height: 350px;"></div>
<script type="text/javascript">
var myOptions = { mapTypeId: google.maps.MapTypeId.ROADMAP };
var map = new google.maps.Map(document.getElementById("map"), myOptions);
var geocoder = new google.maps.Geocoder();
geocoder.geocode({'address': 'US'}, function (results, status) {
var ne = results[0].geometry.viewport.getNorthEast();
var sw = results[0].geometry.viewport.getSouthWest();
map.fitBounds(results[0].geometry.viewport);
});
</script>
</body>
</html>
Ảnh chụp màn hình:
Trong ví dụ trên, tôi nhận được khung nhìn của Hoa Kỳ theo mã hóa địa lý. Tuy nhiên, bạn cũng có thể tự tạo đối tượng LatLngBounds
bằng cách đi qua các điểm Đông Bắc và Tây Nam và phương pháp fitBounds
sẽ thu phóng và xoay bản đồ sao cho nó vừa với khung bản đồ.
1
Vâng, vì kích thước và hình dạng của Hoa Kỳ không thay đổi thường xuyên, bạn có thể tìm các cài đặt tối ưu và sử dụng chúng một cách thủ công.
+1
Có, nhưng tọa độ của hộp giới hạn của tôi có thể thay đổi ... – hjk
Các vấn đề liên quan
- 1. Cách tải API Google Maps với RequireJS?
- 2. API Google Maps - Tải chậm javascript
- 3. Đang tải Google Maps API với wp_enqueue_script
- 4. Tự động tải Google Maps api
- 5. Lấy Google Maps API key
- 6. API Google Maps v3 BrowserIsCompatible
- 7. Bản đồ Google Maps API v3 không tải hoàn toàn
- 8. API Google Maps - Bản đồ không được tải
- 9. Giới hạn API Google Maps
- 10. GWT + API Google Maps v3
- 11. Hộp tìm kiếm API Google Maps 3
- 12. Google Maps tải thư viện khối trang
- 13. Cảnh báo khóa API Google Maps
- 14. Google Maps Fragment không tải
- 15. Chức năng API Google Maps map.getCenter()
- 16. API Google Maps - Thả ghim mới
- 17. Lớp Google Maps tùy chỉnh qua API?
- 18. Google Maps API Geocode Đồng bộ
- 19. API Google Maps v2: LatLngBounds từ CameraPosition
- 20. Truy xuất khóa API Google Maps
- 21. Google Maps API với Rails 3.0
- 22. Google Maps Android V2 và API hướng
- 23. Kiểm tra API Google Maps cục bộ
- 24. Khóa API Google Maps không hoạt động
- 25. Giới thiệu API Google Maps 403 Lỗi
- 26. Hình ảnh rađa trên Google Maps API
- 27. API JavaScript của Google Maps v3
- 28. Nhận khóa API Google Maps v2
- 29. jqtouch/google maps api v3 issue
- 30. Google Maps API Custom Pop-Up
cảm ơn! fitBounds() là chính xác những gì tôi đang tìm kiếm – hjk
@hjk: Tôi đã trả lời [một câu hỏi tương tự cách đây vài tháng] (http://stackoverflow.com/questions/2494756/fitbounds-in-google-maps-api-v3- không-phù hợp-giới hạn/2496558 # 2496558). Nó hiển thị với một hộp giới hạn màu đỏ như thế nào 'fitBounds' phản ứng. Hộp giới hạn màu đỏ biểu thị 'LatLngBounds' mà bạn sẽ chuyển tới' fitBounds'. –
Cảm ơn Daniel, điều đó rất hữu ích. Vì vậy, không có cách nào với Google Maps để điều chỉnh độ chi tiết của thu phóng? I E. mức thu phóng của chúng được cố định? – hjk