tôi đang tìm kiếm một cách để recenter (lấy nét) bản đồ nếu một điểm đánh dấu nằm ngoài bản đồ. Ví dụ: nếu bạn nhấp vào điểm đánh dấu không nằm trong chế độ xem của bạn ... Điểm đánh dấu 1: Điểm đánh dấu New York 2: SanFransiscoAPI Google Maps v3 recenter bản đồ cho một điểm đánh dấu
trong V2 tôi thực hiện theo cách này ... nhưng đối với v3, containsLatLng cần thêm một thư viện và đã không làm việc cho tôi ... (xem bài viết khác của tôi: Google Maps v3 map.getBounds().containsLatLng is not a function) là họ bất kỳ cách nào khác để tập trung vào một vị trí đánh dấu ??
update:
if ((!map.getBounds().contains(marker.getPosition())) & (showAllCategoryElements == 0)) {
var newCenterPointLng = (map.getBounds().getCenter().lng() + marker.getPosition().lng())/2;
var newCenterPointLat = (map.getBounds().getCenter().lat() + marker.getPosition().lat())/2;
map.panTo(marker.getPosition());
//map.setCenter(new google.maps.LatLng(newCenterPointLat, newCenterPointLng));
if (!map.getBounds().contains(marker.getPosition())){
map.zoomOut();
}
}
Bạn có yêu cầu mã hoạt động trong Phiên bản 3 hoặc Phiên bản 2 không? Bạn có cả hai thẻ và mã Phiên bản 2. –