title: Why is Ionic 3 ion-loader throwing removeView error / not showing when dismiss/present checks in place
body: <p>I am using an ion-loading component which works fine the first time the view is accessed and the loader is presented and dismissed.</p>
  <pre><code>import { AlertController, LoadingController } from 'ionic-angular';
  constructor(
      public zone: NgZone,
      public loadingCtrl: LoadingController,
      public alertCtrl: AlertController,
      private storage: Storage,
      public navCtrl: NavController
    ) {
  this.loading = this.loadingCtrl.create();
  }
  
  tryGeolocation() {
  this.loading.present();
  //misc code
   this.markers.push(marker);
        this.map.setCenter(pos);
        //if(this.loading){
        this.loading.dismiss();
  }
  </code></pre>
  <p>However when I navigate  back to the view and the loader is again presented I get a error:</p>
  <blockquote>
  <p>Error: Uncaught (in promise): removeView was not found</p>
  </blockquote>
  <p>I have tried to followe the advice <a href="https://stackoverflow.com/questions/43828359/ionic-error-uncaught-in-promise-removeview-was-not-found#_=_">here</a> and introduced checks to see if loader has been dismissed but now the loader never comes into view:</p>
  <pre><code>if (this.loading == null){
            console.log(&quot;Map.ts: Presenting loader.&quot;);
            this.loading.present();
          }
      if (this.loading != null){
            console.log(&quot;Map.ts: Dismissing loader.&quot;);
            this.loading.dismiss();
          }
  </code></pre>
  <p>I am using ionic 3.9.9, angular 5.2.11
  Any input appreciated.</p>