我在使用Ionic 3时出现问题,特别是在使用原生Google地图插件时设置应用背景色。地图是一个原生元素""浏览器,并为Ionic应用程序设置背景颜色,覆盖地图并阻止它显示。
When looking at the docs,setBackgroundColor(color)
课程中有一个Environment
方法,但我不知道我应该在哪个地方使用该课程。有谁知道吗?
答案 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');
}
}