Google Maps API v3 más reciente el mapa a un marcador
google-maps google-maps-api-3 (1)
El método que desea es contiene (), no contieneLatLng (). map.getBounds().contains(marker.getPosition())
Puede usar los métodos setCenter () o panTo () del mapa para centrarse en la posición del marcador: map.setCenter(marker.getPosition())
o map.panTo(marker.getPosition())
Entonces, si entiendo correctamente lo que estás tratando de hacer, debería verse así:
if ((!map.getBounds().contains(marker.getPosition())) && (showAllCategoryElements == 0)) { //Note the double &
map.setCenter(marker.getPosition());
//OR map.panTo(marker.getPosition());
}
Estoy buscando una forma de volver a centrar (enfocar) el mapa si un marcador está fuera del mapa. Por ejemplo, si hace clic en un marcador que no está en su área de visualización ... Marcador 1: Nueva York Marcador 2: SanFransisco
en V2 hago de esta manera ... pero para v3, la contieneLatLng necesita una biblioteca extra y no funcionó para mí ... (vea mi otra publicación: Google Maps v3 map.getBounds (). contieneLatLng no es una función ) son ellos ¿Alguna otra manera de enfocar a una posición de marcador?
actualizar:
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();
}
}