Ts Tv Stuttgart, Yotube Porno, Wiesen Sex, Belen Porn, Sex Chomutov, Anal Puff, Selbstbefriedigung Zu Zweit, Titten Theke, Pissing Vagina, German Anal Slut Gundula Pervers Bperiod, Vika Viktoria Sex Tube, Blowjob Schule, Pornotraum, Bordell St Ingbert, Tiziana Redford Fickt Sich Im Porno Deutsch Ab, Porno Deutsch Alt Und Jung, Free British Porn, Savannah Pornodarstellerin, Das Beste Aus Reife Damen Junge Maenner, Top Bewertete Videos Von Tag Mutter Ficken, Gigantische Brueste, Porno Entjungfert, Die Beliebtesten Videos Von Tag Poppen Mit Oma, Sex Video You Tube, Swinger Club Leverkusen, Asian Group Porn, Vagosex Lesben, Mamalverkehr, Nudisten Teenager, Zelda Porn, Handjobtube, Office Girls Model Page, Lebendige Japanische Milf Frau Marica Hase Bekommt Genagelt Durch Schwarze Mann, Fetter Grosser Schwarzer Schwanz Zerstoert Die Durchnaesste Muschi Der Versauten Jane Wilde, Jazy Berlin Und Jewels Jade Geniessen Sie In Dampfende Heisse Massage, Laengste Videos Nach Tag Lesben Party, Bdsm Porno Hd, Lucy Li Fuck, Laengste Videos Nach Tag Rasierte Fotze, Flim Porno, Amateur Euro Deutsche Amature Annette Liselotte Gets Fucked By Her Dirty Hubby, Adlerporn, Geilemaenner, Tai Pornos, Old Titten, Erster Anal, Www Sex Wurst Tv, Minirock Jeans Stripteaseexcl, 43 Mit Milf, Aloha Tube Free Sex Video, Geile Weiber Von Hinten, Inga Zolva, Porno Fre, Woman Orgasm Porn, Goldenporntube, Nackte Scheune Junge Frauen, Geile Beine, Porno Striptease, Geschlechtsverkehr Video, Trickfilm Porno, Dicke Naturtitten, Handjob Threesome, Lingerie Milf, Schwarzer Nachbar Gewinnt Die Chance Die Feuchte Muschi Der Vollbusigen Penny Pax Zu Polieren, Deutsche Mutter Ist Notgeil Und Bekommt Einen Orgasmus, Kostenlose Poornos, Porno Free Download, Illegal Sex Tube, Sex Fuer Geld Tube, Laengste Videos Nach Tag Muschi Dehnen, Youporn Sicher, Penthouse Porn, Hentai Penis, Karla Kush Gangbang, Paradise Films, Pussy Filled, Duenner Engel In Struempfen Angie Koks Im Vorspiel Mit Ihrem Freund, Top Bewertete Videos Von Tag Deutsch Sex, Online Sklave Gesucht, Transen Solo, Filmiki 69, Stars Pornos, Nikki Aus Hamburg Fickt Im Deutsch Porno Uwe Die Eier Leer, Sister Cum Inside, Geile Feuchte Fotze, Amateur Sex Casting, Deeptroaht, You Porn Retro, Beastly Mare Sex Tube, Wwwsexy Frauen, Mdh Steam, Jessica Jewelz Pale Brunette Teen Die In Orgastischen Bangbus Anschluss, Wasser Sex Tube, Nackte Maenner Videos, Black Cuckold Porn, Vater Fickt Tochter Kostenlos, Teen Anal Compilation, Sie Sucht Ihn Fuer Sex In Leipzig, Xhamster 1, Hard Nippel, Best Handjobs, Sex Wedel, Attraktive Kurvige Milf Masseurin Jasmine Jae Gefickt Huendchenstellung, Xnxx Pornos Gratis Sex Und Videos Von Xnxxcom, Porno Befruchtung, Kostenlose Schwulenfilme, Hausfrau Ficken Tatted Mature Redhead Banged At Home, Sexxygirl Model Page, Roberta Vasquez Nude, Sexy Bimbo In Glasses Dava Foxx Bekommt Grossen Schwanz In Ihre Saftige Muschi, Pornxnxx, Mydirtyhobby At, Geile Schwangere Ficken, Pornomenge Schwester, Schamlippen Nahaufnahme, Brazzers Com, Extrem Creampie Porn, Sara Jay Video, Mollige Frauen In Strumpfhosen, Conny Dachs Penis, Gay Pornodarsteller Werden, Porno Ueber 50, Nackte Frauen Aus Hessen, Huren In Wetzlar, Privat Gedrehte Pornos, Large Sex Tube, Hentai Free Movie, Vermieter Porn, Deutsche Mutter Fickt Tochter, Kostenlose Pornos Alt Und Jung, Hartchor Porno, Laengste Videos Nach Tag Sex Mit Urin, Dicke Deutsche Schlampe Wird Von Anhalter Durch Gefickt, Sexy Teenager Bilder, Wie Sehen Maedchen Nackt Aus, Wichs Mir In Die Fresse, Live Cam Sex Paare, Koblenz Nutten, Free Porno Anal Teen, Lecken Muschi, German Anal Free, Iranian Sex Tube, Extrem Dicke Schamlippen, Suche Nach Tag Melanie Moon, Fickende Weiber, Shaking Orgasm Porn, Mami Ficken, Chubby Nylon, Laengste Videos Nach Tag Dicken Titten, Venus 2018 Porno, Teen Vs Big Cock, Deutsche Hausfrauencom, Behaarte Frauen Videos, Original Hidden Cam Sex, Jung Und Sexy Braune Haut Maedchen Ausgetrickst Und Stocherte In Der Arztpraxis, Gangbang Porn Videos, Moms Orgasm, Sex Mit Dem Chef Porno, Xvideo Tube, Sex Cam Heimlich, Gina Wild Erotik, Analsex Dehnen, Xxx Pornici, Lisa Ann Hardcore, Erotik Marburg, Haengetitten Sex Tube, Frau Mit Hand Befriedigen, Fucksiscom, Porno Fuer Frauen Kostenlos, Joey Silvera Porn, Zofen Porn, Sexshop Hildesheim, Nuttenfick, Pornos Im Freibad, Porno 82, Auszubildende Beim Fick Mit Boss, Hausgemachte Pornos, Outdoor Ficken In Berlin Mit Jolanda, Turkisch Porno, Live Striptease, Teen Curves, Schwarze Porno Stars, Die Milf Aus Polen In Der Dusche Geknallt, Pornhubck, Oma Bekommt Die Buschige Fotze Gebumst, Shemale Sklave Bei Analpeinigung, Anal Verwoehnen, Erotik Gifhorn, Strandfotzen, Die Beliebtesten Videos Von Tag Oma Deepthroat, Ersties Stream Porn, Ella Hughes Anal, Sex Anpinkeln, Erotische Massage Unna, Milf Pornofilm, Schoene Titen, Muti Sex, String Tanga Po, Vater Tochter Sexgeschichte, Big Boob Redhead German Granny Enjoys Her First Rough Groupsex Fist And Fuck Gangbang Swinger Party, Einfache Pornus, Fette Fotze Lecken, Xhamster Free, Sydney Pearl Xxx, Lesbicky, Sex Freiberg, Schulmaedchen Gefesselt, Rock Ohne Unterwaesche, Junge Dinger Porn, Nigger Fotze, Trans Dalma Porn, Geile Milf Laedt Den Nachbarsjungen Zum Ficken Ein, Deutsche Omi Lasst Es Krachen, Sex Mit Junge Frauen In Darmstadt, Spritz Fotzen, Swingermilfs, German Milf In Real Hot Public Fuck With Stranger, Sexy Snapchat Teens, Natural Titted German Lady Takes A Huge Cock, Porn Shoplifter, Geweckt Bruenette Mama Margo T Wird Hart Gefickt Von Ihrem Freund, Aloha Tubre, Halt Die Schnauze Und Fick Mich Richtig, Xania Wet Juckt Das Foetzchen, Hd Bi Porn, Escort Girls Mannheim, Deutsch Lehrerin Porno, Bdsmeisterschaften, Porno Mit Fickmaschine, Suche Nach Tag Porno Amateur, Xxx Threesome, Granny Porno Das Alte Luder Braucht Den Schwanz, Blowjob Im Bad Milf Blows And Sucks German, Gina Devine Xxx, Junge Und Vollbusige Ebenholz Nia Nacci Liebt Fetten Weissen Schwanz In Ihre Schwarzen Muschi, Sexi Popo, Deutsche Studentin Lara Von 2 Schwarzen Mit Riesen Pimmeln Hart Nach Party Durchgefickt German Tee, Hure Hamburg, German Gangbang Porn, Wwwjungenacktefrauen, Ficken Bumsen Blasen, Gay Mal Dog Sex Tube, Kueche Nackt, Perfektegirls, Polnish Sex Tube, My Friends Hot Mom Porn, Analver, Sex Mit Reifen Frauen Hd Tube, Plxhamster, Erotische Treffen Dresden, Bbc Anal Amateur, Dicke Gefickt, Pornoplus, Maserati Xxx Porno, Erotik Wiesbaden, Er Sucht Ihn Quoka, Not Geile Frauen, Cheating Gf Porn, Sexy Susi Pornos, Schoene Frauen Nackt, Reife Lady Aus Wien Beim Muschi Wichsen Gefilmt, Sex Anzeigen Brandenburg, Everythingbutt, Kostenlos Pornografische, Free Porn Cbt, Deutsche Pornos Dirty Talk, Mia Kalifa Pornos, Porn Mutti, Sex Mit Afrikanerin, Free Web Cam Porn, Bdsm Amateur, Granny Squirting, 60 Granny, Huren In Dortmund, Wwwfreeporncom Gute Sex, Gefesselte Frauen In Latex, Lesben Sex Schere, Mature Reif, Porno Im Freibad, Zwei Milf Schleppen Jungspund Auf Oktoberfest Ab, Sex Mit Der Kellnerin, Free Porn Wichsen, Gays Im Pornokino, Sexfilm Domina, Porno Kostenlos Alter Mann, Perverse Lacknutte Gefickt Und Nach Dem Bespritzen Ins Maul Gepisst, Archfick, Handjob Video Free, Knutschen Porno, Blonde Zauberin Tiffany Watson Geniesst Anal Sex Mit Ihrem Kumpel, Squirt Muschi, Zwei Hausfrauen Im Schwanz Fieber, Kleine Pornostars, Sexxxxxxxxxx, Flaschendrehen Sex Tube, Nackte Riesen Titten, Free Anime Xxx, Beim Pornocasting Den Arsch Voll Bekommen, Kinuski, Unrasierte Moese, Camera Sex, Miss Banana Porno, College Gang Bang, Pregnant Teen Porn, Englisch Nymphomanin Tammie Lee Zerlegt Zu Spielen Mit Ihren Muschi, Blonde German Woman Gives A Handjob Outdoors, Nubiles Hd, Private Nutten Ulm, Sexy Women Sex, Drunk Teen Fucked, Herrinnen Schulung Mit Annika Bond, 18safari 6 3 17 African Bucks Schwarze Fickstuten Vol2 2 Edit Ass, Vom Chef Gefickt, Xxx Perfect Girls, Schlampe Mit Alk Willenlos Abgefuelltcomma, Charmante Studentin Anastasia Brill Nimmt Zusaetzliche Kochkurse, Baby Machen Porno, Lexi Roox, Sex Sauna Tube, Misty Porn, Drunk Teen Porn, Vintage Gratis Porno, Lingam Frankfurt, Johnny Fickt Die Rothaarige Milf Im Porno Deutsch, Deponia Hentai, Sexfilme 70er, German Petite Blonde Cute Bitch Get Facial, Lesbenschule, Outdoor Milf, Busted Porn, Geile Wucht Cindy Hope Verwickelt In Schmutzige Gruppe Sex, Hobbyhuren Neuwied, Latex Strapon Porn, Pornogr, Handwerker Rammeln Mollige Deutsche Ordentlich Durch, Alte Frauen Ponos, Stream My Dirtyhobby, Stutentausch 7, Starwarsporno, Nackt Kampf, Wie Sehen Muschis Aus, Aidan Layne, X Ham, Sexvideos Privat, Sex Mit Der Stiefmutter, Two Busty German Ladies Take Turns Getting Fucked, Schlanke Teenie Geil Im Dreier, Overeatch Porn, Meine Reife Nachbarin, Die Beliebtesten Videos Von Tag Face Sitting, Afro Stosser Fickt Omas Stinkschlitz, Lesbensex In Deutsch, Hot German Milf Fucked In The Ass More At Wwwperiod, Teen Mastubate, Ich Will Dein Schwanz In Meiner Muschi Haben, Muttisex, Titten Tatoo, Blonde Milf Mit Prime Titten Und Arsch Alexis Fawx Bekommt Knallte Hart, Guter Sex Hd Tube, Sophia Thiel Xxx, Redtube Kostenlos, Sextreffen Hannover Sie Sucht Ihn, Teen Oral Porn, Ein Verdammter Pov Porno Mit Der Kurvigen Verfuehrerin Lily Love, 50 Porno, Fete Sexy, Geile Nackte Maedels, Nutten In Deggendorf, Blowjob Woche, Zierliches Maedchen Nackt, Gratis Porno Mit Gina Wild In Voller Laenge, Stoya Porno, Endjungfern, Deutsche Milf Mutter Und Tochter Beim Dreier Ordentlich Gebumst, Femdom Heels, Grosse Schwarze Schwaenze, Pornos Mit Haarigen Muschis, Tatjana Young Pornos, Www Junge Nackte Frauen De, Sie Macht Es Sich Immer Selbst, Feutsche Pornos, Mina Massimo Porn, Tarzan X, Porno Niederlande, Escort Service Bayreuth, Suche Nach Tag Faust Ficken Porno, Red Tubede 1, Nudist Porno, Porno Amateur Swinger, Huendchenstellung Der Deutschen Im Verschneiten Wald, Xvidsos, Roxyx Porn, Markt De Erotikanzeigen, Elektrosex Video, Laengste Videos Nach Tag Taetowiert, Sex Cam Reife Frauen, Mutter Macht Sohn Geil, Schlafend Sex Tube, Porno Deuzsch, Amateur Sex Kontakte, Sex Video Free Hd, Dresden Ficken, Gesichtbesamung, Lily Charms Und Ihren Freundinnen In Der Gruppe Sex, Stuttgart Escort Service, Fotze Definition, Oma Hunter, Sie Sucht Ihn Sex Niedersachsen, Free Porn Dk, Nackte Frau Gefesselt, Porn Hentai 3d, Hobbynutten In Augsburg, Schwester Erwischt Bruder Mit Mutter, Blowjob Princess, Isolda Dychauk Nackt, Hot Rani Fucked, Forced Bi Porn, Gangbang Besamung, Ww Xhamster Com, Fuer Geld Sex, Frauen Masturbieren Zum Orgasmus, Download Film Porno, Shay Michaels, Langgezogene Schamlippen, Milf Gruppen Sex Tube, Ass Fingering Videos, Eroticfilme Gratis, Erotische Massage Tempelhof, Junge Deutsche Anna Blond In Geilem Sextrio An Frischer Luft, Russland Porno, Free Porno Viedo, Legings Porno, Harter Gaysex, Misha Cross Anal, Mann Im Bett Verweuhnen, Mehrere Hungrig Brunette Bitte Jeder Andere Mit Festen Cunnilingus, Mit Sperma Spielen, Erotik Karlsruhe, Glory Hole Cumshot, Egon Kowalski Treibt Es Mit Benita Milano, Tschechische Huren, Alexis Love, Ursula Von Der Leyen Sex Tube, Porno Video Gratuit, Weinlese Pornos, Milf Nrw, Sexy Sex, Porno Mamma, Laengste Videos Nach Tag Deutsch Ficken, Perverse Sexstellungen, Sandra Zuehlke Porn, Geiler Doppelfick, Koestliche Blondes Schaetzchen Katja Kassin Hatte Dampfenden Sex Mit Ihrem Kerl In Verschiedenen Sti, Schwanz Wichsen Video, Turksh Sex Tube, Deutsche Milf Amateurin Gibt Blowjob Und Fickt, Massage Happy End Porn, Mydirty Hobby College Teen Babe Does Anal With Her Roommate And Takes A Huge Facial Cumshot, Leah Ghotti, Wichs Dein Schwanz, Sklavin Hentai, Ssbbw Sex, Die Beliebtesten Videos Von Tag Tori Black, Porn Sex Videos, Blonde Beim Ersten Pofick, Muschi Beschnitten, Freeporntub, Liona Shy, Orgie Im Swingerclub, Jessa Rhodes Porn, Dicktittig, Mature Sex Party, Bibixxxx, Erotik Konstanz, Brunette Schlampe Rachel Roxxx Saugt Und Wird Gefickt Von Einer Grossen Schwanz, Schwanz Tief Im Mund, Massage Room Youporn, Teenarschfick, Porno Im Ehebett, Lesben Masturbieren Zusammen 4 exemplos de utilização do Google Maps/Geolocalização com Ionic - Fábrica de Código

4 exemplos de utilização do Google Maps/Geolocalização com Ionic

Nessa aula eu vou te mostrar 4 exemplos de utilização do Google Maps/Geolocalização com o Ionic.
Você vai aprender:

  • Exibir mapas estáticos
  • Exibir mapas dinâmicos
  • Recuperar a localização do usuário e exibir no mapa
  • Traçar rotas entre dois pontos distintos

 

Esse tutorial está utilizando as seguintes versões das dependências:

  • Ionic: 3.19.0

 

O que é o Google Maps

O Google Maps é um serviço de mapas do Google onde é possível buscar endereços, lugares e traçar rotas.

 

O que é Geolocalização

Basicamente Geolocalização é prover serviços personalizados com base na localização do usuário.

 

Obter uma chave de API

  1. Acesse Google API Console.
  2. Crie ou selecione um projeto.
  3. Clique em Continue para ativar a API e serviços relacionados.
  4. Na página Credentials, obtenha uma chave de API.
  5. Copie o código gerado para ser usado mais tarde nesse tutorial.

Você pode acessar a documentação do Google para gerar uma chave de API clicando aqui.

 

Criando uma aplicação de exemplo

O passo a passo abaixo é o mesmo mostrado no vídeo.

  • Passo 1: Criar o aplicativo.
  • Passo 2: Instalar o plugin de geolocalização do Ionic Native.
  • Passo 3: Adicionar a API do Google Maps
  • Passo 4: Criar as páginas.

 

Passo 1: Criar o aplicativo

ionic start NOME_DO_APP blank

 

Passo 2: Instalar o plugin de geolocalização do Ionic Native

ionic cordova plugin add cordova-plugin-geolocation --variable GEOLOCATION_USAGE_DESCRIPTION="To locate you"
npm install --save @ionic-native/geolocation

 

No arquivo app.module.ts adicionar a o provider “Geolocation

import { BrowserModule } from '@angular/platform-browser';
import { ErrorHandler, NgModule } from '@angular/core';
import { IonicApp, IonicErrorHandler, IonicModule } from 'ionic-angular';
import { SplashScreen } from '@ionic-native/splash-screen';
import { StatusBar } from '@ionic-native/status-bar';

import { MyApp } from './app.component';
import { HomePage } from '../pages/home/home';

import { Geolocation } from '@ionic-native/geolocation';

@NgModule({
  declarations: [
    MyApp,
    HomePage
  ],
  imports: [
    BrowserModule,
    IonicModule.forRoot(MyApp)
  ],
  bootstrap: [IonicApp],
  entryComponents: [
    MyApp,
    HomePage
  ],
  providers: [
    StatusBar,
    SplashScreen,
    {provide: ErrorHandler, useClass: IonicErrorHandler},
    Geolocation
  ]
})
export class AppModule {}

 

Passo 3: Adicionar a API do Google Maps

Adicionar o script abaixo no arquivo index.html

<script src="http://maps.google.com/maps/api/js?key=SUA KEY AQUI"></script>

 

Arquivo index.html completo

<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
  <meta charset="UTF-8">
  <title>Ionic App</title>
  <meta name="viewport" content="viewport-fit=cover, width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
  <meta name="format-detection" content="telephone=no">
  <meta name="msapplication-tap-highlight" content="no">

  <link rel="icon" type="image/x-icon" href="assets/icon/favicon.ico">
  <link rel="manifest" href="manifest.json">
  <meta name="theme-color" content="#4e8ef7">

  <!-- add to homescreen for ios -->
  <meta name="apple-mobile-web-app-capable" content="yes">
  <meta name="apple-mobile-web-app-status-bar-style" content="black">

  <script src="http://maps.google.com/maps/api/js?key=SUA KEY AQUI"></script>
  <!-- cordova.js required for cordova apps (remove if not needed) -->
  <script src="cordova.js"></script>

  <!-- un-comment this code to enable service worker
  <script>
    if ('serviceWorker' in navigator) {
      navigator.serviceWorker.register('service-worker.js')
        .then(() => console.log('service worker installed'))
        .catch(err => console.error('Error', err));
    }
  </script>-->

  <link href="build/main.css" rel="stylesheet">

</head>
<body>

  <!-- Ionic's root component and where the app will load -->
  <ion-app></ion-app>

  <!-- The polyfills js is generated during the build process -->
  <script src="build/polyfills.js"></script>

  <!-- The vendor js is generated during the build process
       It contains all of the dependencies in node_modules -->
  <script src="build/vendor.js"></script>

  <!-- The main bundle js is generated during the build process -->
  <script src="build/main.js"></script>

</body>
</html>

 

Passo 4: Criar as páginas

ionic g page exemplo1
ionic g page exemplo2
ionic g page exemplo3
ionic g page exemplo4

Página Exemplo1

Arquivo exemplo1.ts

import { Component } from '@angular/core';
import { IonicPage } from 'ionic-angular';

@IonicPage()
@Component({
  selector: 'page-exemplo1',
  templateUrl: 'exemplo1.html',
})
export class Exemplo1Page {
  imoveis: Array<Imovel>;

  constructor() { }

  ionViewDidLoad() {
    this.getImoveis();
  }

  getImoveis() {
    this.imoveis = [
      new Imovel('Apartamento com 2 Quartos para Venda ou Aluguel, 80 m²', 295.000, 'Rua Eduardo Viviani', '400', 'Boa Vista', 'Juiz de Fora', 'MG'),
      new Imovel('Parque Jardim dos Bandeirantes, 80 m²', 152.074, 'Avenida Garcia Rodrigues Paes', '0', 'Jóckey Club', 'Juiz de Fora', 'MG'),
      new Imovel('Apartamento com 2 Quartos à Venda, 72 m²', 138.000, 'Rua Aurora Tôrres', '10', 'Santa Luzia', 'Juiz de Fora', 'MG')];
  }}

export class Imovel {
  nome: string;
  valor: number;
  logradouro: string;
  numero: string;
  bairro: string;
  cidade: string;
  estado: string
  mapa: string;

  constructor(nome: string, valor: number, logradouro: string, numero: string, bairro: string, cidade: string, estado: string) {
    this.nome = nome;
    this.valor = valor;
    this.logradouro = logradouro;
    this.numero = numero;
    this.bairro = bairro;
    this.cidade = cidade;
    this.estado = estado;
    this.mapa = this.getMapa();
  }

  private getEndereco() {
    return this.logradouro + ', ' + this.numero + ' - ' + this.bairro + ', ' + this.cidade + ' - ' + this.estado;
  }

  private getMapa() {
    return 'https://maps.googleapis.com/maps/api/staticmap?zoom=15&size=400x400&markers=color:red|' + this.getEndereco() + '&key=AIzaSyCxqgKqZMHNzOV2TETOwjRJAUpuh3aeK1c'
  }
}

 

Arquivo exemplo1.html

<ion-header>
  <ion-navbar>
    <ion-title>Google maps</ion-title>
  </ion-navbar>
</ion-header>

<ion-content padding>

  <ion-card *ngFor="let imovel of imoveis">
    <div class="mapa">
      <img src="{{ imovel.mapa }}">
    </div>
    <ion-item>
      <h2 text-wrap>{{ imovel.nome }}</h2>
      <p>{{ imovel.valor | currency:'BRL' }}</p>
    </ion-item>
  </ion-card>

</ion-content>

 

Página Exemplo2

Arquivo exemplo2.ts

import { Component } from '@angular/core';
import { IonicPage } from 'ionic-angular';

declare var google;

@IonicPage()
@Component({
  selector: 'page-exemplo2',
  templateUrl: 'exemplo2.html',
})
export class Exemplo2Page {
  map: any;

  constructor() { }

  ionViewDidLoad() {
    const position = new google.maps.LatLng(-21.763409, -43.349034);

    const mapOptions = {
      zoom: 18,
      center: position,
      disableDefaultUI: true
    }

    this.map = new google.maps.Map(document.getElementById('map'), mapOptions);

    const marker = new google.maps.Marker({
      position: position,
      map: this.map,

      //Titulo
      title: 'Minha posição',

      //Animção
      animation: google.maps.Animation.DROP, // BOUNCE

      //Icone
      icon: 'assets/imgs/pessoa.png'
    });
  }
}

 

Arquivo exemplo2.html

<ion-header>
  <ion-navbar>
    <ion-title>Google maps</ion-title>
  </ion-navbar>
</ion-header>

<ion-content padding>
  <div #map id="map"></div>
</ion-content>

 

Arquivo exemplo2.scss

page-exemplo2 {
  #map {
    height: 100%;
  }
}

 

Página Exemplo3

Arquivo exemplo3.ts

import { Component } from '@angular/core';
import { IonicPage } from 'ionic-angular';
import { Geolocation } from '@ionic-native/geolocation';

declare var google;

@IonicPage()
@Component({
  selector: 'page-exemplo3',
  templateUrl: 'exemplo3.html',
})
export class Exemplo3Page {
  map: any;

  constructor(private geolocation: Geolocation) { }

  ionViewDidLoad() {
    this.geolocation.getCurrentPosition()
      .then((resp) => {
        const position = new google.maps.LatLng(resp.coords.latitude, resp.coords.longitude);

        const mapOptions = {
          zoom: 18,
          center: position
        }

        this.map = new google.maps.Map(document.getElementById('map'), mapOptions);

        const marker = new google.maps.Marker({
          position: position,
          map: this.map
        });

      }).catch((error) => {
        console.log('Erro ao recuperar sua posição', error);
      });
  }
}

 

Arquivo exemplo3.html

<ion-header>
  <ion-navbar>
    <ion-title>Google maps</ion-title>
  </ion-navbar>
</ion-header>

<ion-content padding>
  <div #map id="map"></div>
</ion-content>

 

Arquivo exemplo3.scss

page-exemplo3 {
  #map {
    height: 100%;
  }
}

 

Página Exemplo4

Arquivo exemplo4.ts

import { Component } from '@angular/core';
import { IonicPage } from 'ionic-angular';

declare var google;

@IonicPage()
@Component({
  selector: 'page-exemplo4',
  templateUrl: 'exemplo4.html',
})
export class Exemplo4Page {
  directionsService = new google.maps.DirectionsService();
  directionsDisplay = new google.maps.DirectionsRenderer();
  map: any;
  startPosition: any;
  originPosition: string;
  destinationPosition: string;

  constructor() { }

  ionViewDidLoad() {
    this.initializeMap();
  }

  initializeMap() {
    this.startPosition = new google.maps.LatLng(-21.763409, -43.349034);

    const mapOptions = {
      zoom: 18,
      center: this.startPosition,
      disableDefaultUI: true
    }

    this.map = new google.maps.Map(document.getElementById('map'), mapOptions);
    this.directionsDisplay.setMap(this.map);

    const marker = new google.maps.Marker({
      position: this.startPosition,
      map: this.map,
    });
  }

  calculateRoute() {
    if (this.destinationPosition && this.originPosition) {
      const request = {
        // Pode ser uma coordenada (LatLng), uma string ou um lugar
        origin: this.originPosition,
        destination: this.destinationPosition,
        travelMode: 'DRIVING'
      };

      this.traceRoute(this.directionsService, this.directionsDisplay, request);
    }
  }

  traceRoute(service: any, display: any, request: any) {
    service.route(request, function (result, status) {
      if (status == 'OK') {
        display.setDirections(result);
      }
    });
  }
}

 

Arquivo exemplo4.html

<ion-header>
  <ion-navbar>
    <ion-title>Google maps</ion-title>
  </ion-navbar>
</ion-header>

<ion-content padding>
  <ion-list>
    <ion-item>
      <ion-label>De onde?</ion-label>
      <ion-input type="text" [(ngModel)]="originPosition"></ion-input>
    </ion-item>

    <ion-item>
      <ion-label>Para onde?</ion-label>
      <ion-input type="text" [(ngModel)]="destinationPosition"></ion-input>
    </ion-item>

    <div padding>
      <button ion-button (click)="calculateRoute()">Traçar rota</button>
    </div>
  </ion-list>

  <div #map id="map"></div>
</ion-content>

 

Arquivo exemplo4.scss

page-exemplo4 {
  #map {
    height: 80%;
  }
}

 

Clique no botão abaixo para ver o código fonte gerado nessa aula

[button style=”btn-primary btn-lg” type=”link” target=”true” title=”Código fonte gerado na aula” link=”https://github.com/fabricadecodigo/IonicGoogleMapsBasicExample” linkrel=””]

 

Referências

 

Gostou desse artigo? Aproveite e curta e compartilhe para que mais pessoas possam também visualiza-lo!

Ainda ficou alguma dúvida ou tem alguma sugestão? Deixa aí nos comentários!

8 comentários em “4 exemplos de utilização do Google Maps/Geolocalização com Ionic”

  1. Parabéns Felipe, Ótimo artigo! Gostaria de saber se é possível calcular pela api do google maps a distância de Km de ponto em relação a minha posição? Na minha app tem uma listagem de estabelecimentos cadastrados tem como saber quais estabelecimento estão próximos a mim, determinando um raio de distancia de 5 km por exemplo

  2. Lucas Freitas

    Parabéns pelo artigo! Gostaria de saber se tem como eu plotar varios pontos juntos no Mapa? No caso eu estou consumindo um JSON no banco de dados ontem tenho varias coordenadas (Latitudes e Longitudes) eu consigo consumir o JSON na parte do HTML mas na parte do TypeScript eu nao consigo. Queria uma forma de de marcar todas as coordenadas que tenho no JSON simultaneamente no mapa.
    Desde Já Obrigado.

  3. Fala Lucas, blz?
    Manipular esse tipo de coisa no html não é possível.
    Você pode consumir o json no typescript igual uma API REST e depois exibe os marcadores.

    Valeu!

  4. Lucas Freitas

    Então, essa é minha duvida. Ja esta carregado no meu app o JSON (esta vindo de um banco de dados). Mas eu sei consumi-lo no html ( exemplo: {{item.latitude}}). minha dúvida seriaa como pegar todas latitudes e longitudes do meu json e mandar plotar pelo typescript. Desculpa se não estou sendo claro sou um pouco iniciante ainda.

  5. Fala Lucas, entendi seu problema mas antes de te falar como ler esse JSON preciso saber como você recupera ele.
    Defina pra mim “está vindo de um banco de dados”?
    É um banco local do app?
    É uma API?

    Valeu!

  6. Lucas Freitas

    Bom dia, desculpa se fui confuso.
    Estou trazendo um JSON via api de dados que pego do banco e dados que esta num servidor. segue uns pritns.
    Esse primeiro trecho traz o json que esta no segundo print. Então eu queria pegar de forma dinâmica as latitudes e longitudes e marcasse no mapa. Essa é minha dúvida, alimentar os marcadores do mapa de forma dinamica com os dados que estou trazendo de um JSON externo.

    Abraço!!1

    https://uploads.disquscdn.com/images/ceaac64dc091632fb5d21c16b13f4b077e6c4fd7b7a580d49328ac8659cf965c.png https://uploads.disquscdn.com/images/8155df35ecd288f30ca2dda84bd462e41c0ea383ac31e2e42b13f3f4c52739af.png https://uploads.disquscdn.com/images/6c34bbda7114c586efe8f910891e0592a20616254048ec682567036258750253.png

  7. Fala Lucas,

    No momento em que você recupera o json é só criar os marcadores igual eu mostrei no vídeo.
    Nessa sua lista de coordenadas (OSData) é só fazer um “for” e executar o método de criar marcadores.

    var coordenadas = [{ lat: 1, lng: 1}, { lat: 2, lng: 2}, { lat: 3, lng: 3}];

    for (i = 0; i < coordenadas.length; i++) {
    var coordenada = coordenadas[i];
    const marker = new google.maps.Marker({
    position: new google.maps.LatLng(coordenada.lat, coordenada.lng);,
    map: this.map
    });
    }

    Claro que nesse momento você já precisa ter exibido o mapa na tela.

    Valeu!

Comentários encerrados.