Android Development - Google Maps
Aus Wikizone
Link auf Google Maps als Content Provider
// Possible geo uris: // geo:lat,long // geo:lat,long?z=zoom // geo:0,0?q=AddressOrPlace double latitude = 48.3895; double longitude = 9.1869; int zoom = 13; String uriBegin = "geo:" + latitude + "," + longitude; String query = latitude + "," + longitude; String encodedQuery = Uri.encode(query); String uriString = uriBegin + "?q=" + encodedQuery + "&z=" + zoom; Uri uri = Uri.parse(uriString); i = new Intent(android.content.Intent.ACTION_VIEW, uri); showActivity(i);
MapView Activity
https://developers.google.com/maps/documentation/android/?hl=de http://ddewaele.github.io/GoogleMapsV2WithActionBarSherlock/part1
Voraussetzungen
- Google Play Services SDK muß installiert sein (SDK Manager)
- In Eclipse muß folgendes Projekt importiert sein: myadtfolder/sdk/extras/google/google_play_services/libproject/google-play-services_lib damit die Packages zur Verfügung stehen.
Projekt und API Key
- Project Properties > Android > Project Build Targets > Google APIs
- Fingerprint holen
- Registrieren auf der google developer console und API Schlüssel holen
Manifest Datei
vor application tag
<uses-library android:name="com.google.android.maps" />
Permissions (die erste nur bei Einsatz der ActionSherlock Toolbar)
<!-- Google Maps related permissions --> <!-- <permission android:name="com.ecs.google.maps.v2.actionbarsherlock.permission.MAPS_RECEIVE" android:protectionLevel="signature"/> --> <uses-permission android:name="com.example.mapdemo.permission.MAPS_RECEIVE"/> <!-- Network connectivity permissions --> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <uses-permission android:name="android.permission.INTERNET"/> <!-- Access Google based webservices --> <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/> <!-- External storage for caching. --> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <!-- My Location --> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> <!-- Maps API needs OpenGL ES 2.0. --> <uses-feature android:glEsVersion="0x00020000" android:required="true"/>
Im Application Tag wird der API-Key hinterlegt:
<meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="INSERT_YOUR_API_KEY_HERE"/>
Layout File
Wir fügen ein Map Fragment hinzu
Hinweis: Fragments gehen erst ab API11 - Honeycomb
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/root" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal" > <fragment android:id="@+id/map" android:layout_width="match_parent" android:layout_height="match_parent" android:name="com.google.android.gms.maps.MapFragment"/> </FrameLayout>
Activity Klasse
extends MapActivity