Có cách nào dễ dàng để tìm hộp giới hạn của một polyline bằng API Google Maps v3 không? Tôi đang làm việc trên một dự án mà tôi cần cập nhật giới hạn khi dữ liệu được thêm vào và xóa khỏi bản đồ. Điều này là khá dễ dàng bởi chỉ cần làm bd.extend (điểm), nơi bd là đối tượng bị ràng buộc và điểm là một đối tượng LatLng. Vấn đề là khi tôi bắt đầu loại bỏ dữ liệu tôi muốn nó thay đổi giới hạn và phóng to lại. Có bất kỳ chức năng được xây dựng nào có thể làm điều này hoặc tôi sẽ cần phải viết một cái gì đó cho bản thân mình?Lấy các giới hạn của một polyine trong API Google Maps v3
Trả lời
v2 API có phương pháp GPolyline.getBounds()
để thực hiện chính xác việc này. Tuy nhiên, dường như không có phương pháp tương đương trong số v3 API.
Bạn có thể muốn xử lý điều này bằng cách ghi đè thuộc tính changed
của Polyline
MVCObject
để được thông báo khi đối tượng thay đổi trạng thái. Sau đó, bạn có thể tính toán hộp giới hạn bằng phương pháp LatLngBounds.extend()
mà bạn đã đề xuất.
Tôi nghĩ rằng Google cố ý bỏ qua các phương pháp như vậy từ API v3 trong nỗ lực giữ API nhẹ. Một thiếu sót tương tự discussed a couple of days ago on Stack Overflow là phương pháp GMap2.clearOverlays()
.
Bạn cũng có thể mở rộng lớp Polyline để thêm phương thức getBounds của riêng bạn. Tham khảo google maps api v3: add point on polyline beetwen two existing points on click polyline event để biết cách thực hiện việc này.
Mở rộng giải pháp của oenpelli, đây là phương thức getBounds() mở rộng mà tôi đang sử dụng để tạo lại chức năng từ API V2. Điều này làm việc hoàn hảo trong dự án của tôi.
google.maps.Polyline.prototype.getBounds = function() {
var bounds = new google.maps.LatLngBounds();
this.getPath().forEach(function(item, index) {
bounds.extend(new google.maps.LatLng(item.lat(), item.lng()));
});
return bounds;
};
Chỉ cần nhớ rằng điều này cần phải được thêm SAU khi javascript API được tải, vì vậy trong phương pháp init của bạn.
- 1. API Google Maps V3: giới hạn bản đồ giới hạn
- 2. Giới hạn API Google Maps
- 3. GWT + API Google Maps v3
- 4. API JavaScript của Google Maps v3
- 5. Nhận giới hạn bản đồ không gói trong API Google Maps V3
- 6. API Google Maps v3 BrowserIsCompatible
- 7. Google Maps API v3 - Geocoder quả vấn đề với giới hạn
- 8. Mã ngôn ngữ trong API Java của Google Maps V3
- 9. jqtouch/google maps api v3 issue
- 10. Giới hạn Dịch vụ Chỉ đường V3 của Google Maps để ở trong Quốc gia
- 11. Google Maps API V3 phương thức fitBounds()
- 12. Loại bỏ một Marker trong Google Maps API v3
- 13. Giới hạn sử dụng dịch vụ khi được sử dụng với API Javascript của Google Maps v3
- 14. Vùng màu xám V3 của Google Maps API
- 15. API Google Maps v3 xóa tất cả các đường polycarbonate
- 16. Lấy Google Maps API key
- 17. Bản đồ Google API v3 ranh giới thành phố
- 18. AngularJS: ánh xạ qua API Google Maps v3 trong tab
- 19. Remove đánh dấu trong Google Maps Api v3
- 20. Bật hiển thị GL mới trong API Google Maps v3?
- 21. Khoảng cách chỉ đường trong Google Maps API v3
- 22. Cách thay đổi MapTypeid trong API Google Maps v3?
- 23. là gì quá giới hạn hạn ngạch cho gọi Google Contacts v3 API
- 24. Giới thiệu API Google Maps 403 Lỗi
- 25. Lấy các giới hạn của một MKMapView
- 26. Google maps api v3 biểu tượng mặc định?
- 27. tôi có thể lấy bản đồ tĩnh trong API Google Maps V3 không?
- 28. Giới hạn API Google Maps có áp dụng cho các ứng dụng Android không?
- 29. API Google Maps v3: Trình quản lý bản vẽ
- 30. Xóa dấu chỉ đường khỏi API Google Maps V3