google maps android api v2

12
Google Maps Android API v2 吳吳吳 吳吳吳吳吳吳 吳吳吳吳吳吳 CSF645 – Mobile Computing 吳吳吳吳 https://developers.google.com/maps/documentation/ android/

Upload: cayla

Post on 06-Jan-2016

113 views

Category:

Documents


2 download

DESCRIPTION

CSF645 – Mobile Computing 行動計算. Google Maps Android API v2. 吳俊興 國立高雄大學 資訊工程學系. https://developers.google.com/maps/documentation/android/. Introduction to the Google Maps Android API v2. The API automatically handles access to Google Maps servers data downloading map display, and - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Google Maps Android API v2

Google Maps Android API v2

吳俊興國立高雄大學 資訊工程學系

CSF645 – Mobile Computing行動計算

https://developers.google.com/maps/documentation/android/

Page 2: Google Maps Android API v2

Introduction to the Google Maps Android API v2

• The API automatically handles– access to Google Maps servers– data downloading– map display, and– response to map gestures

• Also use API calls– To add markers, polygons, and overlays to a basic map, and– To change the user's view of a particular map area

2

Page 3: Google Maps Android API v2

3

• Distributed as part of the Google Play services SDK

• Encapsulated in the MapFragment class, an extension of Android's Fragment class, rather in the Activity class

– Able to add a map as a piece of a larger Activity

– Able to implement them by extending the Android standard Activity class, rather than extending the MapActivity used in version 1

• Using vector tiles: data representation is smaller, with less bandwidth

• Caching is improved, so users will typically see a map without empty areas.

• Supporting 3D maps

Google Maps Android API v2 Improvements

Page 4: Google Maps Android API v2

 Overall Process of Adding a Map to an App

• Step 1. Download and configure the Google Play services SDK

– The Google Maps Android API is distributed as part of this SDK

• Step 2. Obtain an API key

– To do this, you will need to register a project in the Google APIs Console,

and get a signing certificate for your app

• Step 3. Specify settings in the Application Manifest

• Step 4. Add a map to a new or existing Android project

• Run the Sample Code - com.example.mapdemo

4

https://developers.google.com/maps/documentation/android/start

Page 5: Google Maps Android API v2

Run the Sample Code - com.example.mapdemo

• Make sure Google Play services added as an Android library project 1. Select File > Import > Android > Existing Android Code Into Workspace and click

Next

2. Select Browse..., enter <share>/google-play-services_lib, and click Finish

• View the sample code, or run the sample app locally– Sample code is bundled with the Google Play services SDK

1. Select File > Import > Android > Existing Android Code Into Workspace and click Next.

2. Select Browse..., enter <android-sdk-folder>/extras/google/google_play_services/samples/maps, and click Finish

3. Select Project > Properties, select Java Build Path, and navigate to Libraries.

4. Select Add External Jars, include the following jar files, and click OK: + <android-sdk-folder>/extras/android/support/v4/android-support-v4.jar

5. Add your own Google Maps Android API key

6. Select Run > Run to test the sample app5

Page 6: Google Maps Android API v2

Step 1. Setup Google Play Services SDK

• To develop an app using the Google Play services APIs, download the Google Play services SDK from the SDK Manager

– The download includes the client library and code samples• To test your app when using the Google Play services SDK, you must use either:– A compatible Android device that runs Android 2.2 or higher and includes Google Play Store– The Android emulator with an AVD that runs the Google APIs platform based on Android 4.2.2

or higher

• Three steps:– S1-1. Install the Google Play Services SDK– S1-2. Set Up a Project with the Library– S1-3. Ensure Devices Have the Google Play services APK

6http://developer.android.com/google/play-services/setup.html

Page 7: Google Maps Android API v2

S1-1. Install the Google Play Services SDK

1. Launch the SDK Manager– From Eclipse (with ADT), select Window > Android SDK Manager

2. Install the Google Play services SDK– Saved in <android-sdk>/extras/google/google_play_services/

3. Install a compatible version of the Google APIs platform– To test app on the emulator, expand the directory for Android 4.2.2 (API 17) or a higher version, select

Google APIs, and install it

4. Make a copy of the Google Play services library project– Copy the library project at <android-sdk>/extras/google/google_play_services/libproject/google-play-

services_lib/ to the location where you maintain your Android app projects (i.e. adt-bundle/share)– import the library project into your workspace. Click File > Import, select Android > Existing Android Code

into Workspace, and browse to the copy of the library project to import it 7

Page 8: Google Maps Android API v2

S1-2. Set Up a Project to UseGoogle Play Services SDK

• Reference the library project in your Android project

1. Make sure that both the project library and the application project that depends

on it are in your workspace. If one of the projects is missing, import it into your

workspace

2. In the Package Explorer, right-click the dependent project and select

Properties

3. In the Properties window, select the "Android" properties group at left and locate

the Library properties at right

4. Click Add to open the Project Selection dialog

5. From the list of available library projects, select a project and click OK

6. When the dialog closes, click Apply in the Properties window

7. Click OK to close the Properties window

8

Page 9: Google Maps Android API v2

Step 2. Obtain an API Key

• The Google Maps Android API v2 uses a new system of managing keys– Existing keys from a Google Maps Android v1 application, commonly

known as MapView, will not work with the v2 API– Obtain a Maps API key from the Google APIs Console by providing the

application's signing certificate and its package name– Once having the key, add it to the application by adding an element to the

application's manifest file AndroidManifest.xml• Maps API keys are linked to specific certificate/package pairs

– Sign each of your applications with a different certificate and get a different key for each one

• Four steps:– S2-1: Retrieve information about your application's certificate– S2-2: Register a project in the Google APIs Console and add the Maps

API as a service for the project– S2-3: Once you have a project set up, you can request one or more keys Add your key to your application and begin development

9

Page 10: Google Maps Android API v2

S2-1. Displaying Certificate Information • An app has two certificates

– Debug certificate: only for use with an application for testing– Release certificate

• SHA-1 fingerprint: a short form of application's digital certificate– Eclipse goes to Windows > Preferences > Android > Build

10

Page 11: Google Maps Android API v2

S2-2. Obtaining an API Key • Go to https://code.google.com/apis/console/1. API Project > Services: Enable Google Maps Android API v22. API Project > API Access >  Create New Android Key....3. Enter the SHA-1 fingerprint, then a semicolon, then your application's package name4. The Google APIs Console responds by displaying Key for Android apps (with certificates) followed by a forty-character API key5. Copy this key value

11AIzaSyDZVhi1AFAqVN6djSpXLq36dvljPSeVFGU

Page 12: Google Maps Android API v2

S2-3. Adding the API Key to the Application

12

1.In AndroidManifest.xml, add the following element as a child of the <application> element, by inserting it just before the closing tag </application>:

<meta-data    android:name="com.google.android.maps.v2.API_KEY"    android:value="your_api_key"/>

substituting your API key for your_api_key. This element sets the key com.google.android.maps.v2.API_KEY to the valueyour_api_key and makes the API key visible to any MapFragment in your application.

2.Add the following elements to your manifest. Replace com.example.mapdemo with the package name of your application.

<permission        android:name="com.example.mapdemo.permission.MAPS_RECEIVE"        android:protectionLevel="signature"/><uses-permission android:name="com.example.mapdemo.permission.MAPS_RECEIVE"/>

3.Save AndroidManifest.xml and re-build your application.