Daha sonra ise konum bilgisi alabilmek için Geolocation pluginini ekliyoruz.
1
ionic plugin add cordova-plugin-geolocation
Google Maps'in script'ini index.html‘e ekliyoruz.
1234567891011121314151617
<body>
<ion-app></ion-app>
<!-- Google Maps -->
<script src="http://maps.googleapis.com/maps/api/js"></script>
<!-- cordova.js required for cordova apps -->
<script src="cordova.js"></script>
<!-- Polyfill needed for platforms without Promise and Collection support -->
<script src="build/js/es6-shim.min.js"></script>
<!-- Zone.js and Reflect-metadata -->
<script src="build/js/Reflect.js"></script>
<script src="build/js/zone.js"></script>
<!-- the bundle which is built from the app's source code -->
<script src="build/js/app.bundle.js"></script>
</body>
Bunları ekledikten sonra angular/core‘dan OnInit'i ekliyoruz.
12
import {Component, OnInit} from '@angular/core';
Konum almak için ise Geolocation'i ekliyoruz.
12
import {Geolocation} from 'ionic-native';
Daha sonra fonksiyonumuzu yazıyoruz.
123456789101112
loadMap() {
Geolocation.getCurrentPosition().then((resp) => {
var latlng = new google.maps.LatLng(resp.coords.latitude, resp.coords.longitude);
var myOptions = {
zoom: 8,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map"), myOptions);
});
}
Eğer Typescript yazıyorsanız Google Map'sin hata verdiğini göreceksiniz.
12345
TypeScript error: /Users/nazirdogan/ionic-maps/app/pages/home/home.ts(21,24): Error TS2304: Cannot find name 'google'.
TypeScript error: /Users/nazirdogan/ionic-maps/app/pages/home/home.ts(25,20): Error TS2304: Cannot find name 'google'.
TypeScript error: /Users/nazirdogan/ionic-maps/app/pages/home/home.ts(27,21): Error TS2304: Cannot find name 'google'.
TypeScript error: typings/index.d.ts(2,1): Error TS6053: File 'typings/globals/google.maps/index.d.ts' not found.
Bu hatanın nedeni ise Typescript Definition dosyalarının olmamasıdır.