Почему гугл карта вылетает после загрузки карты

Я получаю ниже error на android устройство и мое приложение вылетает.

вот мой полный код:

import { Component } from '@angular/core';
import { IonicPage, NavController, NavParams } from 'ionic-angular';
import { Geolocation ,GeolocationOptions } from '@ionic-native/geolocation';


import {
 GoogleMaps,
 GoogleMap,
 GoogleMapsEvent,
 LatLng,
 CameraPosition,
 MarkerOptions,
 Marker
} from '@ionic-native/google-maps';      


@IonicPage()
@Component({
  selector: 'page-google-map-test',
  templateUrl: 'google-map-test.html',
})

export class GoogleMapTestPage {

  constructor(...,public googleMaps: GoogleMaps,private geolocation : Geolocation) {
  }

 ionViewDidLoad() {
    this.mapHandler2();       
  }


  mapHandler2(){

    // create a new map by passing HTMLElement
     let element: HTMLElement = document.getElementById('map');

     let map: GoogleMap = this.googleMaps.create(element);

     let LatLang: LatLng = new LatLng(43.0741904,-89.3809802); 


          // create CameraPosition 
       let position: any = {
          target: LatLang,    
          zoom: 18,
          tilt: 30
       };     


        map.one(GoogleMapsEvent.MAP_READY).then(() => {
         console.log('Map is ready!');
         // Now you can add elements to the map like the marker
          map.moveCamera(position);

         // create new marker
        let markerOptions:any = {
            position: LatLng,
            title: 'Ionic'
        };

        const marker:any = map.addMarker(markerOptions)
            .then((marker: Marker) => {
                marker.showInfoWindow();
            });


         this.geolocation.getCurrentPosition().then((position) => {

             let LatLang: LatLng = new LatLng(position.coords.latitude,position.coords.longitude);


              map.setCameraTarget(LatLang);
              map.setCameraZoom(18);


                 // create new marker
                  let markerOptions:any = {
                      position: LatLng,
                      title: 'You Are Here'
                  };

                const marker:any = map.addMarker(markerOptions)
                      .then((marker: Marker) => {
                          marker.showInfoWindow();
                  });       


          }, (err) => {
            console.log(err); 
            alert('location error');            
          }); 



        });  // End of GoogleMapsEvent.MAP_READY

  }

}    

Первоначально map canvas загружает, но вылетает Показывает экран выше.

Пожалуйста, помогите мне решить эту проблему, я очень плохо знаком с Ionic 3.

1 ответ

Я столкнулся с той же проблемой здесь. Попробовав несколько способов построения маркеров, я только что выяснил, что происходит сбой приложения при добавлении маркеров из видимой области. Затем я изменил исходную конфигурацию карт на настройку удаленного масштабирования (в моем случае я установил масштаб от =13 до масштабирования =4) и только после того, как все маркеры были построены, я установил масштаб приблизительно до желаемого маркера. Я предполагаю, что вы также можете установить в исходной конфигурации массив latLng всех ваших маркеров перед их нанесением, так что камера будет настроена на эти маркеры, и они все будут в видимой области.

Другие вопросы по тегам