Goal: Tôi muốn có một chức năng tìm kiếm tùy chỉnh (mã địa lý) và có thể liệt kê và nhấp mỗi kết quả và hiển thị nó trên bản đồ.Google Maps API v3 - Geocoder quả vấn đề với giới hạn
Wanted: Điều chỉnh giới hạn bản đồ/mức zoom cho phù hợp, tức là tìm kiếm "MA, USA" nên phóng to bản đồ để cho tôi nhìn thấy trạng thái toàn tiểu bang Massachusetts, trong khi tìm kiếm "Boston, MA, USA" nên phóng to trên khu vực Boston. Khi liệt kê nhiều kết quả, điều tương tự cũng nên áp dụng khi nhấp vào kết quả.
Issue: Tôi có thể sử dụng đối tượng geometry.bounds với fitBounds - nhưng - một số kết quả bạn nhận được bằng cách sử dụng geocoder không có mà geometry.bounds phản đối.
Một ví dụ nhanh: tìm kiếm "Boston" trả
Boston, MA, USA
Boston, IN, USA
Boston, KY, USA
Boston, GA 31.626, Mỹ
Boston, Salem , VA 22713, USA
Boston, NY 14025, USA
Cả hai "Boston, KY" và "Boston NY 14025" không có giới hạn.
Câu hỏi: Có một cách đáng tin cậy để hiển thị bất kỳ kết quả geocoder trên bản đồ tại phù hợp mức độ phóng ?
Ngay bây giờ tôi đang sử dụng một cái gì đó như thế nhưng tôi thấy xấu xí này và nó không giải quyết được vấn đề zoom
if (results[0].geometry.bounds) {
map.fitBounds(results[0].geometry.bounds);
} else {
map.setCenter(results[0].geometry.location);
// eventually set zoom here to some middle-range value (ugly)
}
Bạn đã thử sử dụng đối tượng 'viewport'. – andresf
Tôi nên tìm giá trị nào trong đối tượng khung nhìn? Nó dường như không có bất kỳ giới hạn trở lại trong đó. Cảm ơn. – MrUpsidown