Cordova onsen应用程序。谷歌地图在桌面上工作,但在android nd ios应用程序中不工作
我不熟悉onsen2和angular2。现在,我正在开发混合应用程序。我试着实现angular2谷歌地图,它在桌面上运行良好,但在android和ios上运行不正常,有错误(谷歌没有定义)。我使用的代码如下所示。欢迎提出解决办法 app.component.htmlCordova onsen应用程序。谷歌地图在桌面上工作,但在android nd ios应用程序中不工作,cordova,angular,google-maps-sdk-ios,onsen-ui2,Cordova,Angular,Google Maps Sdk Ios,Onsen Ui2,我不熟悉onsen2和angular2。现在,我正在开发混合应用程序。我试着实现angular2谷歌地图,它在桌面上运行良好,但在android和ios上运行不正常,有错误(谷歌没有定义)。我使用的代码如下所示。欢迎提出解决办法 app.component.html 正如错误所说,谷歌没有定义。使用Cordova时,您需要记住,每个平台的浏览器支持可能不同(即使对于每个Android版本,我建议使用Crosswalk for Android),因此它可能没有定义全局google变量 解决方案是为
正如错误所说,谷歌没有定义。使用Cordova时,您需要记住,每个平台的浏览器支持可能不同(即使对于每个Android版本,我建议使用Crosswalk for Android),因此它可能没有定义全局google变量 解决方案是为移动设备使用插件(如) 如果要保持对PC浏览器的支持,只需在加载前测试每个变量,如:
If(window.google && window.google.maps){
// Current code
}
else if(plugin.google && plugin.google.maps){
// check the link above
}
import {Component} from '@angular/core';
import {OnsNavigator} from 'angular2-onsenui';
declare var $:any;
declare var google: any;
@Component({
selector: 'ons-page[page]',
template: require('./page.html'),
styles: [require('./page.css')]
})
export class Page {
constructor(private navi : OnsNavigator) {
}
push() {
this.navi.element.pushPage(Page);
}
ngOnInit() {
// initialize google map
var myLatLng = {lat: 12.8767, lng: 80.2302};
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 7,
center: myLatLng
});
var marker = new google.maps.Marker({
position: myLatLng,
map: map,
title: 'ZSL Inc, 85 Lincoln Highway, Edison, NJ 08820'
});
}
}
If(window.google && window.google.maps){
// Current code
}
else if(plugin.google && plugin.google.maps){
// check the link above
}