Top Banner

of 26

Android Working With Google Maps V2

Jun 02, 2018

Download

Documents

stefanive
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 8/11/2019 Android Working With Google Maps V2

    1/26

    Android working with Google Maps V2

    If you have developed any app that contains Google Maps v1, Its time to upgrade it to Google Maps V2 as

    google maps version 1 deprecated officially on December 3rd, 212 and it !ont !or" anymore# $his article

    aims to give "no!ledge about ho! to implements ne!er Google Maps into your applications# If you have

    already !or"ed !ith V1, implementing V2 is very easy# %efer Google Maps Docs for any topic that is not

    covered in this tutorial#

    &efore starting a ne! pro'ect, !e need to go through some pre re(uired steps# $hese steps involves

    importing re(uired library, generating )*+1 fingerprint and configuring maps in google console#

    1. Downloading Google Play Services

    Google made ne! Maps V2 +I as a part of Google P lay Services )D-# )o before !e start

    developing maps !e need to do!nload google play services from )D- manger# .ou can open )D-

    manager either from /clipse or from android sd" folder#

    0pen Eclipse Windows Android SD Managerand chec" !hether you have already do!nloaded

    Google lay )ervices or not under E!trassection# If not select play services and install the pac"age#

    http://www.androidhive.info/2013/08/android-working-with-google-maps-v2/http://www.androidhive.info/2013/08/android-working-with-google-maps-v2/
  • 8/11/2019 Android Working With Google Maps V2

    2/26

    2. "#porting Google Play Services into Eclipse

  • 8/11/2019 Android Working With Google Maps V2

    3/26

    +fter do!nloading play services !e need to import it to /clipse !hich !ill be used as a library for our maps

    pro'ect#

    1# In /clipse goto $ile "#port Android E!isting Android %ode "nto Workspace

    2# lic" on &ro!se and select Google lay )ervices pro'ect from your android sd" folder# .ou can locate

    play services library pro'ect from

    android&sdk&windows'e!tras'google'google(play(services'li)pro*ect'google&play&services(li)

    +# Importantly !hile importing chec" %opy pro*ects into workspace option as sho!n in the belo! image#

  • 8/11/2019 Android Working With Google Maps V2

    4/26

  • 8/11/2019 Android Working With Google Maps V2

    5/26

    +. Getting the Google Maps AP" key

    1# )ame as in maps v1 !e need to generate )*+1 fingerprint using 'ava keytool # 0pen your terminal and

    eecute the follo!ing command to generate )*+1 fingerprint#

    ,n Windowskeytool -list -v -keystore "%USERPROFILE%\.android\debug.keystore"-alias androiddebugkey -storeass android -keyassandroid

    ,n -in! or Mac ,S

    keytool -list -v -keystore !.androiddebug.keystore -alias androiddebugkey -storeass android -keyass android

    In the output you can see )*+ 1 finger print#

  • 8/11/2019 Android Working With Google Maps V2

    6/26

    2# 4o! open Google +I onsole

    +# )elect Serviceson left side and turn on Google Maps Android AP" v2

    /# 4o! select AP" Accesson left side and on the right side clic" on %reate new Android key0

  • 8/11/2019 Android Working With Google Maps V2

    7/26

    # It !ill popup a !indo! as"ing the )*+1 and pac"age name# /nter your SA 1 and your androidpro*ect package na#e separated by semicolon 3 and clic" on create#

  • 8/11/2019 Android Working With Google Maps V2

    8/26

    I have given li"e belo!

    #E$&$E'$(($&)$*#$E+$'*$,$)F$*F$#*$)+$+,$E$F$+($$F#$/0in1o.android2ive.google3asv,

    +nd note do!n the +I "ey !hich re(uired later in our pro'ect#

  • 8/11/2019 Android Working With Google Maps V2

    9/26

    /. %reating new Pro*ect

    +fter completing re(uired configuration, Its time to start our pro'ect#

    1# In /clipse create a ne! pro'ect by going to $ile 4ew Android Application Pro*ectand fill re(uired

    details# I "ept my pro'ect name as Google Maps V2 and pac"age name as in5o.androidhive.in5o

    2# 4o! !e need to use Google lay )ervices pro'ect as a library to use pro'ect# )o right clickon pro'ect

    and select properties# In the properties !indo! on left side select Android# 0n the right you can see

    aAddbutton under library section# lic" it and select google play servicespro'ect !hich !e imported

    previously#

  • 8/11/2019 Android Working With Google Maps V2

    10/26

  • 8/11/2019 Android Working With Google Maps V2

    11/26

  • 8/11/2019 Android Working With Google Maps V2

    12/26

    +# +dd the Map -ey in the manifest file# 0pen AndroidMani5est.!#lfile and add the follo!ing code

    before tag# %eplace the android6vale!ith your map "ey !hich you got from google console#

    45-- 6oolge 7as PI 8ey --943eta-data

  • 8/11/2019 Android Working With Google Maps V2

    13/26

    android$na3e:";o3.google.android.3as.v,.PIaSy#?7lkOv(s@-7ABO)/CksdaD(E@Lgo"9

    /# Google maps needs follo!ing permissions and features#

    A%%ESS(4E7W,8(S7A7E 5 $o chec" net!or" state !hether data can be do!nloaded or not

    "47E84E7 5 $o chec" internet connection statusW8"7E(E97E84A-(S7,8AGE5 $o !rite to eternal storage as google maps store map data in

    eternal storage

    A%%ESS(%,A8SE(-,%A7",45 $o determine users location using 6i7i and mobile cell data

    A%%ESS($"4E(-,%A7",45 $o determine users location using G)

    ,penG- ES V2 5 %e(uired for Google Maps V2

    7inally my AndroidMani5est.!#lfile loo"s li"e this 8%eplace the pac"age name !ith your pro'ect

    pac"age9

    AndroidManifest.xml4GD3lversion:"'."en;oding:"ut1-+"G943ani1estD3lns$android:"2tt$s;2e3as.android.;o3akresandroid" a;kage:"in1o.android2ive.google3asv," android$versionHode:"'"

    android$versiona3e:"'."94er3ission

    android$na3e:"in1o.android2ive.google3asv,.er3ission.7PS

  • 8/11/2019 Android Working With Google Maps V2

    14/26

    4uses-er3issionandroid$na3e:"android.er3ission.JRIE

  • 8/11/2019 Android Working With Google Maps V2

    15/26

    41rag3ent android$id:"Mid3a" android$na3e:";o3.google.android.g3s.3as.7aFrag3ent" android$layout

  • 8/11/2019 Android Working With Google Maps V2

    16/26

    MOverride

    rote;tedvoidonResu3eQ suer.onResu3eQ0 initili>e7aQ0

    %un your pro'ect and congratulations if you see a map displaying on your device#

  • 8/11/2019 Android Working With Google Maps V2

    17/26

  • 8/11/2019 Android Working With Google Maps V2

    18/26

    Placing a Marker

    .ou can place a mar"er on the map by using follo!ing code#

    latitude and longitudedoublelatitude : 0doublelongitude : 0

    ;reate 3arker7arkerOtions 3arker : neC7arkerOtionsQ.ositionQneCLatLngQlatitude longitude.titleQ"Nello 7as "0

    adding 3arkergoogle7a.add7arkerQ3arker0

  • 8/11/2019 Android Working With Google Maps V2

    19/26

  • 8/11/2019 Android Working With Google Maps V2

    20/26

    %hanging Marker %olor

    &y default map mar"er color !ill be %/D# Google maps provides some set of predefined colored icons for

    the mar"er# ROSE ;olor i;on3arker.i;onQ#it3aes;ritorFa;tory.de1ault7arkerQ#it3aes;ritorFa;tory.NUE

  • 8/11/2019 Android Working With Google Maps V2

    21/26

    %sto# Marker "con

    +part from maps native mar"er icons, you can use o!n image to sho! as a mar"er# .ou can load the icon

    from any "ind of supported sources#

    5ro#As se t; String asset4a#e< 5 :oading from assets folder

    5ro#=it#ap ;=it#ap i#age< 5 :oading bitmap image

  • 8/11/2019 Android Working With Google Maps V2

    22/26

    5ro#$ile ;String path< 5 :oading from file

    5ro#8esorce ;int resorce"d< 5 :oading from dra!able resource

    &elo! I loaded a custom mar"er icon from drawa)lefolder

    latitude and longitude

    doublelatitude : '*.&+A((0doublelongitude : *+.(+//*'0

    ;reate 3arker7arkerOtions 3arker : neC7arkerOtionsQ.ositionQneCLatLngQlatitude longitude.titleQ"Nello 7as"0

    H2anging 3arker i;on3arker.i;onQ#it3aes;ritorFa;tory.1ro3Resour;eQR.draCable.3y

  • 8/11/2019 Android Working With Google Maps V2

    23/26

    %hanging Map 7ype

    Google provides < "inds of map types 4or#al, y)rid, Satelliteand 7errain# .ou can toggle to any "ind of

    map using googleMap.setMap7ype;< method#

    google7a.set7ayeQ6oogle7a.7P

  • 8/11/2019 Android Working With Google Maps V2

    24/26

  • 8/11/2019 Android Working With Google Maps V2

    25/26

    Showing %rrent -ocation

    .ou can sho! users current location on the map by calling setMy-ocationEna)led;oo#ing =ttons

    .ou can call set>oo#%ontrolsEna)led;

  • 8/11/2019 Android Working With Google Maps V2

    26/26

    google7a.getUiSettingsQ.setHo3assEnabledQtrue0

    My -ocation =tton

    My location button !ill be used to move map to your current location# $his button can be sho!n = hidden bycalling setMy-ocation=ttonEna)led;