2017-02-07 9 views
0

저는 onsen2 및 angular2를 처음 사용합니다. 자, 나는 하이브리드 응용 프로그램을 개발 중입니다. 나는 데스크톱에서 잘 작동하는 angular2 Google지도를 구현하려고했지만 안드로이드 및 ios 오류 (Google은 정의되지 않음)에서 작동하지 않습니다. 내가 사용한 코드는 다음과 같습니다. 솔루션을 환영합니다. 오류가 말한다 것처럼코도 바 온천 app.Google지도는 데스크톱에서 작동하지만 안드로이드 및 애플 리케이션에서 작동하지 않습니다

app.component.html

<div id="map"></div> 

app.component.ts

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' 
    }); 


} 
} 

답변

0

는, 구글이 정의되어 있지 않습니다. Cordova를 사용할 때 각 플랫폼마다 브라우저 지원이 다를 수 있습니다 (모든 Android 버전에도 Android 용 Crosswalk 사용 권장). 따라서 Google 글로벌 변수가 정의되지 않았을 수 있습니다.

솔루션

If(window.google && window.google.maps){ 
// Current code 
} 
else if(plugin.google && plugin.google.maps){ 
// check the link above 
} 
: 당신은 PC 브라우저 그냥로드하기 전에 각 변수를 테스트하기위한 같은 지원을 유지하려면 을 ( this 같은) 모바일 장치를위한 플러그인을 사용하는 것입니다