Невозможно прочитать свойство 'environment' нулевых - ионных собственных карт Google - PullRequest
0 голосов
/ 24 октября 2018

При запуске моего ионного проекта с ionic serve -c

Каждый раз я получаю эту ошибку:

ERROR TypeError: Cannot read property 'environment' of null
   at Function.Environment.setEnv (index.js:1980)
   at HomePage.webpackJsonp.194.HomePage.loadMap (home.ts:98)
   at HomePage.webpackJsonp.194.HomePage.ionViewDidLoad (home.ts:45)
   at ViewController._lifecycle (view-controller.js:486)
   at ViewController._didLoad (view-controller.js:369)
   at NavControllerBase._didLoad (nav-controller-base.js:768)
   at t.invoke (polyfills.js:3)
   at Object.onInvoke (core.js:4760)
   at t.invoke (polyfills.js:3)
   at r.run (polyfills.js:3)

Существует метод loadMap:

  loadMap() {
    Environment.setEnv({
      'API_KEY_FOR_BROWSER_DEBUG' : '',
      'API_KEY_FOR_BROWSER_RELEASE' : ''
    })

    this.geoLocation.getCurrentPosition().then((resp) => {
      this.latitude = resp.coords.latitude;
      this.longitude = resp.coords.longitude;
      console.log(this.latitude);
      console.log(this.longitude);
      let CurrentPosition : LatLng = new LatLng(this.latitude,this.longitude);
      let CameraPosition : CameraPosition<ILatLng> = {
        target : CurrentPosition,
        zoom : 18
      };
      this.addMarker();
      this.map.moveCamera(CameraPosition);
     }).catch((error) => {
       console.log('Error getting location', error);
     });



    this.map = GoogleMaps.create('map_canvas');

  }

Я не понимаюЯ запускаю свой компонент только после запуска device.isReady (), поэтому это не должно быть проблемой жизненного цикла.

Есть ли у вас какие-либо идеи относительно того, откуда это происходит?

Спасибовы!

РЕДАКТИРОВАТЬ: При использовании команды ionic cordova run browser -l карта загружается без ошибок в первый раз, а затем при некотором обновлении веб-страницы, ошибка появляется снова, я ничего не меняю в код ...

Ответы [ 2 ]

0 голосов
/ 24 октября 2018

Проблема решена!

На самом деле это была проблема жизненного цикла.Я приписывал HomePage к rootPage в app.components.ts до того, как устройство было готово.

0 голосов
/ 24 октября 2018

У меня была та же проблема, я нашел решение в этой теме https://stackoverflow.com/a/52681481/6560704

Вам нужно собрать свои платформы для создания этой переменной 'среды', используя CLI, например:

ionic cordova build browser -l

Надеюсь, это поможет

...