0
I’m trying to get the map dee zoom into a certain markers location when they are created in Firebase.
I’ve already tried to use the
setZoom()
setCenter()
I’d like him to go over the correct location, for example: Has a markers of Barra Shopping, it goes straight to the shopping bar.
What I tried was this:
GM.js
function initMap() {
var map;
map = new google.maps.Map(document.getElementById('map'), {
center: {lat: -1.000, lng: 62.000},
mapTypeId: 'hybrid',
zoom: 2,
zoomControl: true,
zoomControlOptions: {
position: google.maps.ControlPosition.RIGHT_CENTER
},
streetViewControl: false,
rotateControl: false,
fullscreenControl: false,
styles: [
{
"featureType": "administrative",
"elementType": "geometry",
"stylers": [
{
"visibility": "off"
}
]
},
{
"featureType": "poi",
"stylers": [
{
"visibility": "off"
}
]
},
{
"featureType": "road",
"elementType": "labels.icon",
"stylers": [
{
"visibility": "off"
}
]
},
{
"featureType": "transit",
"stylers": [
{
"visibility": "off"
}
]
}
]
});
generateMarkerDBS();
searchAllMarkers(map);
}
firebase.js
function searchAllMarkers(map){
var locations = firebase.database().ref('/').child('aliansce');
locations.on('value', function(keysSnapshot){
// SE CONTER LOCAIS DA COMPANIA
// IRÁ MOSTRAR OS MAKERS NO MAPA
if(keysSnapshot.numChildren() > 0){
locations.on('child_added', function(keysSnapshot){
var markersCoordinatesNodes = firebase.database().ref('/aliansce/').child('' + keysSnapshot.key + '/marker/markerCoordinates/');
markersCoordinatesNodes.on('value', function(coordinatesSnapshot){
if((coordinatesSnapshot.val().lat == null) && (coordinatesSnapshot.val().lng == null)){
alert("LAT ou LNG NULL's no DATABASE!!");
} else {
var markersDateNodes = firebase.database().ref('/aliansce/'+ keysSnapshot.key + '/marker/markerDateCreate/').child('dateDescription');
markersDateNodes.on('value', function(dateSnapshot){
var infowindow = [];
var arrMarkers = [];
var arrMarkers = new google.maps.Marker({
position: new google.maps.LatLng(coordinatesSnapshot.val().lat,coordinatesSnapshot.val().lng),
map: map,
title: keysSnapshot.key
});
map.setZoom(15);
map.panTo(arrMarkers.position);
arrMarkers.infowindow = new google.maps.InfoWindow({
position: new google.maps.LatLng(coordinatesSnapshot.val().lat,coordinatesSnapshot.val().lng),
content:
'<div><strong>'+ keysSnapshot.key +'</strong><br></div>'+
'<div>'+ dateSnapshot.val() +'</div>',
});
arrMarkers.infowindow.open(map,arrMarkers);
arrMarkers.addListener('click', function(event,infowindow){
this.infowindow.open(map,arrMarkers);
});
});
}
});
});
} else {
alert("NÃO CONTÉM LOCAIS DA COMPANIA NO DATABASE");
}
});
}

in the code has no setCenter, I am not as tested but it is common for people to use the
setCenter()without parameters, try something like thissetCenter(new google.maps.LatLng(coordinatesSnapshot.val().lat,coordinatesSnapshot.val().lng))– Neuber Oliveira
@Neuberoliveira sorry I must have pasted the code when I gave Ctrl+z.. So I tried this and what happened was that wrong zoom. I think he’s not even pegand oo zoom values, because I left a center inside the map.
– user50860
You are first giving setCenter and then Setzoom?
– PauloHDSousa
and where Voce called the
setCenter? just to make clear the coordinates of yoursetCentermust be the same as the Mark that Voce wants to "focus on"– Neuber Oliveira
Guys already got it, thanks guys !
– user50860