Ionic Native Google Maps插件 - 设置应用程序背景颜色

时间:2017-11-02 19:34:43

标签: google-maps ionic-framework cordova-plugins ionic-native

我在使用Ionic 3时出现问题,特别是在使用原生Google地图插件时设置应用背景色。地图是一个原生元素""浏览器,并为Ionic应用程序设置背景颜色,覆盖地图并阻止它显示。

When looking at the docssetBackgroundColor(color)课程中有一个Environment方法,但我不知道我应该在哪个地方使用该课程。有谁知道吗?

2 个答案:

答案 0 :(得分:0)

好的,我只是实例化Environment类,然后调用setBackgroundColor。像这样:

import { Environment } from '@ionic-native/google-maps`;

export class MyClass {

  environment: Environment = null;

  myMethod(): void {
    this.environment = new Environment();
    this.environment.setBackgroundColor("red");
  }
}

答案 1 :(得分:0)

哇。这对我来说很惊讶。 @mkkekkonen的答案当然有效,但这不是我想要的设计方式。 (我是cordova-plugin-googlemaps的作者,也是@ionic-native/google-maps插件的主要维护者。)

原始插件中的环境,地理编码器,球形,Poly(哦,尚未实现)和编码类是静态类

例如,我认为没有人这样做,但这是可能的。 这不是我想要的方式。

import { Environment } from '@ionic-native/google-maps`;

export class MyClass {

  environment: Environment = null;

  myMethod1(): void {
    (new Environment()).setBackgroundColor("red");
  }
  myMethod2(): void {
    (new Environment()).setBackgroundColor("blue");
  }
}

正确的方法是使用provider(@ 4.3.3)

@IonicPage()
@Component({
  selector: 'page-set-background-color',
  templateUrl: 'set-background-color.html',
  providers: [
    Environment
  ]
})
export class SetBackgroundColorPage {

  map: GoogleMap;

  constructor(
      public navCtrl: NavController,
      public navParams: NavParams,
      public environment: Environment,
      public googleMaps: GoogleMaps) {
  }

  ionViewDidLoad() {
    console.log('ionViewDidLoad SetBackgroundColorPage');
    this.map = this.googleMaps.create('map_canvas');
    this.environment.setBackgroundColor('red');
  }

}

请用这种方式,mkkekkonen。 我将在下一个版本中修复此错误。

<强>更新

在@ ionic-native @ 4.3.4之后的下一个版本中,代码将是这样的:

@IonicPage()
@Component({
  selector: 'page-set-background-color',
  templateUrl: 'set-background-color.html'
})
export class SetBackgroundColorPage {

  map: GoogleMap;

  constructor() {
  }

  ionViewDidLoad() {
    console.log('ionViewDidLoad SetBackgroundColorPage');
    this.map = GoogleMaps.create('map_canvas');
    Environment.setBackgroundColor('red');
  }

}