Estou com uma dificuldade em relação a uma classe.
Eu estou instanciando um mapa e passo ele como parâmetro pra outras classes, porém em apenas uma ele retorna null.
Exemplo:
Código de instanciar o mapa(singleton)
retornaMapa(){
//console.log(this.map)
if(this.map==undefined){
this.map = new google.maps.Map(document.getElementById(‘map’), {
zoom: 15,
disableDefaultUI: true,
center: new google.maps.LatLng(-22.464866, -43.820819),
});
}
return this.map;
}
Quando vou adicionar o marcador, eu passo os mapas como this.mapa e tudo ocorre bem, porém nessa função aqui, o this retorna vazio.
localizaSe(){
console.log(this)
console.log(NavController)
console.log(MapPage)
this.navCtrl.setRoot(MapPage);
navigator.geolocation.getCurrentPosition(function(position) {
var myPosition = {
lat: position.coords.latitude,
lng: position.coords.longitude
};
var infoWindow = new google.maps.InfoWindow({map:this.retornaMapa(), pixelOffset: new google.maps.Size(1, 1)});
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 15,
disableDefaultUI: true,
center: new google.maps.LatLng(myPosition.lat, myPosition.lng),
})
infoWindow.setPosition(myPosition);
infoWindow.setContent('Você esta aqui !');
infoWindow.open(this.retornaMapa());
this.retornaMapa().setCenter(myPosition);
});
this.initMarkers();
}
Alguém sabe onde estou errando ? sou novato por aqui !