even through, I’m not removing google maps at all I get [ignore]CordovaGoogleMaps.removeMap, because it's not ready.
page:
@IonicPage()
@Component({
selector: 'page-from-order',
templateUrl: 'from_order.html'
})
export class ClientFromOrderPage {
map: GoogleMap;
location: ClientOrder;
constructor(private nav: NavController, private storage: StorageSRV,
private googleMaps: GoogleMaps, private platform: Platform, private locSrv: LocationSRV) {
this.location = new ClientOrder({from: new Address(), to: new Address()});
}
ionViewDidLoad() {
this.platform.ready().then(() => {
this.loadMap();
})
}
loadMap() {
let mapOptions: GoogleMapOptions = {
camera: {
target: {
lat: 43.0741904,
lng: -89.3809802
},
zoom: 18,
tilt: 30
}
};
this.map = GoogleMaps.create('map');
// Wait the MAP_READY before using any methods.
this.map.one(GoogleMapsEvent.MAP_READY)
.then(() => {
return this.map.getMyLocation()
})
.then((location: MyLocation) => {
// console.log(JSON.stringify(location, null ,2));
return this.locSrv.geocodeLatLngToAddress(location.latLng);
})
.then((res: Address) => {
return this.location.from = res;
})
.then(() => {
// Move the map camera to the location with animation
return this.map.animateCamera({
target: this.location.from.latLng,
zoom: 17,
tilt: 30,
duration: 10
})
})
.then(() => {
// add a marker
return this.map.addMarker({
title: '@ionic-native/google-maps plugin!',
snippet: 'This plugin is awesome!',
position: this.location.from.latLng,
animation: GoogleMapsAnimation.BOUNCE
});
})
.then(() => {
this.map.addEventListener(GoogleMapsEvent.MAP_CLICK)
.subscribe((coords: LatLng) => {
console.log('touched');
this.addMarker(coords)
.then((m: Marker) => {
console.log('adding the marker');
})
.catch(err => console.log(err));
});
})
.catch(err => console.error('error getting from address: ', JSON.stringify(err, null ,2)))
}
destination() {
this.nav.push('ClientToOrderPage', {
location: this.location
});
}
addMarker(coords: LatLng): Promise<Marker> {
console.log('in method');
return this.map.addMarker({
title: 'Drive me here',
icon: 'blue',
animation: 'DROP',
position: coords
})
}
}
package.json:
{
"name": "GoogleMaps-quick-demo",
"version": "0.0.1",
"author": "Masashi Katsumata",
"homepage": "https://github.com/mapsplugin",
"private": true,
"scripts": {
"clean": "ionic-app-scripts clean",
"build": "ionic-app-scripts build",
"lint": "ionic-app-scripts lint",
"ionic:build": "ionic-app-scripts build",
"ionic:serve": "ionic-app-scripts serve"
},
"dependencies": {
"@angular/common": "4.4.4",
"@angular/compiler": "4.4.4",
"@angular/compiler-cli": "4.4.4",
"@angular/core": "4.4.4",
"@angular/forms": "4.4.4",
"@angular/http": "4.4.4",
"@angular/platform-browser": "4.4.4",
"@angular/platform-browser-dynamic": "4.4.4",
"@ionic-native/core": "^4.4.0",
"@ionic-native/google-maps": "^4.4.0",
"@ionic-native/native-geocoder": "^4.5.3",
"@ionic-native/splash-screen": "4.3.2",
"@ionic-native/status-bar": "4.3.2",
"@ionic/storage": "2.0.1",
"cordova-android": "6.3.0",
"cordova-ios": "^4.5.3",
"cordova-plugin-add-swift-support": "^1.7.1",
"cordova-plugin-device": "^1.1.4",
"cordova-plugin-googlemaps": "^2.1.0",
"cordova-plugin-googlemaps-sdk": "git+https://github.com/mapsplugin/cordova-plugin-googlemaps-sdk.git",
"cordova-plugin-ionic-webview": "^1.1.16",
"cordova-plugin-nativegeocoder": "^3.1.1",
"cordova-plugin-splashscreen": "^4.0.3",
"cordova-plugin-statusbar": "^2.4.1",
"cordova-plugin-whitelist": "^1.3.1",
"ionic-angular": "3.8.0",
"ionic-plugin-keyboard": "^2.2.1",
"ionicons": "3.0.0",
"rxjs": "5.4.3",
"sw-toolbox": "3.6.0",
"zone.js": "0.8.18"
},
"devDependencies": {
"@ionic/app-scripts": "3.0.1",
"typescript": "2.3.4"
},
"description": "A demo app of @ionic-native/google-maps plugin.",
"cordova": {
"plugins": {
"ionic-plugin-keyboard": {},
"cordova-plugin-whitelist": {},
"cordova-plugin-device": {},
"cordova-plugin-splashscreen": {},
"cordova-plugin-ionic-webview": {},
"cordova-plugin-googlemaps": {
"API_KEY_FOR_ANDROID": "AIzaSyB8gNoVltCFAjXQ3EGU1KID-DDsKJYgibA",
"API_KEY_FOR_IOS": "AIzaSyB8gNoVltCFAjXQ3EGU1KID-DDsKJYgibA"
},
"cordova-plugin-statusbar": {},
"cordova-plugin-nativegeocoder": {
"LOCATION_WHEN_IN_USE_DESCRIPTION": "Use geocoder service"
}
},
"platforms": [
"android"
]
}
}
$ ionic -v
3.20.0
Thanks for suggestions!