Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ActivityMAps.java-------------------------------------------------------------------
- package com.activity;
- import android.app.Activity;
- import android.os.Bundle;
- import android.util.Log;
- import android.widget.Toast;
- import com.google.android.gms.maps.CameraUpdateFactory;
- import com.google.android.gms.maps.GoogleMap;
- import com.google.android.gms.maps.MapFragment;
- import com.google.android.gms.maps.model.BitmapDescriptorFactory;
- import com.google.android.gms.maps.model.CameraPosition;
- import com.google.android.gms.maps.model.LatLng;
- import com.google.android.gms.maps.model.MarkerOptions;
- import com.travelingrecords.R;
- public class ActivityMaps extends Activity {
- // Google Map
- private GoogleMap googleMap;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.maps);
- try {
- // Loading map
- initilizeMap();
- // Changing map type
- googleMap.setMapType(GoogleMap.MAP_TYPE_NORMAL);
- // googleMap.setMapType(GoogleMap.MAP_TYPE_HYBRID);
- // googleMap.setMapType(GoogleMap.MAP_TYPE_SATELLITE);
- // googleMap.setMapType(GoogleMap.MAP_TYPE_TERRAIN);
- // googleMap.setMapType(GoogleMap.MAP_TYPE_NONE);
- // Showing / hiding your current location
- googleMap.setMyLocationEnabled(true);
- // Enable / Disable zooming controls
- googleMap.getUiSettings().setZoomControlsEnabled(false);
- // Enable / Disable my location button
- googleMap.getUiSettings().setMyLocationButtonEnabled(true);
- // Enable / Disable Compass icon
- googleMap.getUiSettings().setCompassEnabled(true);
- // Enable / Disable Rotate gesture
- googleMap.getUiSettings().setRotateGesturesEnabled(true);
- // Enable / Disable zooming functionality
- googleMap.getUiSettings().setZoomGesturesEnabled(true);
- double latitude = 17.385044;
- double longitude = 78.486671;
- // lets place some 10 random markers
- for (int i = 0; i < 10; i++) {
- // random latitude and logitude
- double[] randomLocation = createRandLocation(latitude,
- longitude);
- // Adding a marker
- MarkerOptions marker = new MarkerOptions().position(
- new LatLng(randomLocation[0], randomLocation[1]))
- .title("Hello Maps " + i);
- Log.e("Random", "> " + randomLocation[0] + ", "
- + randomLocation[1]);
- // changing marker color
- if (i == 0)
- marker.icon(BitmapDescriptorFactory
- .defaultMarker(BitmapDescriptorFactory.HUE_AZURE));
- if (i == 1)
- marker.icon(BitmapDescriptorFactory
- .defaultMarker(BitmapDescriptorFactory.HUE_BLUE));
- if (i == 2)
- marker.icon(BitmapDescriptorFactory
- .defaultMarker(BitmapDescriptorFactory.HUE_CYAN));
- if (i == 3)
- marker.icon(BitmapDescriptorFactory
- .defaultMarker(BitmapDescriptorFactory.HUE_GREEN));
- if (i == 4)
- marker.icon(BitmapDescriptorFactory
- .defaultMarker(BitmapDescriptorFactory.HUE_MAGENTA));
- if (i == 5)
- marker.icon(BitmapDescriptorFactory
- .defaultMarker(BitmapDescriptorFactory.HUE_ORANGE));
- if (i == 6)
- marker.icon(BitmapDescriptorFactory
- .defaultMarker(BitmapDescriptorFactory.HUE_RED));
- if (i == 7)
- marker.icon(BitmapDescriptorFactory
- .defaultMarker(BitmapDescriptorFactory.HUE_ROSE));
- if (i == 8)
- marker.icon(BitmapDescriptorFactory
- .defaultMarker(BitmapDescriptorFactory.HUE_VIOLET));
- if (i == 9)
- marker.icon(BitmapDescriptorFactory
- .defaultMarker(BitmapDescriptorFactory.HUE_YELLOW));
- googleMap.addMarker(marker);
- // Move the camera to last position with a zoom level
- if (i == 9) {
- CameraPosition cameraPosition = new CameraPosition.Builder()
- .target(new LatLng(randomLocation[0],
- randomLocation[1])).zoom(15).build();
- googleMap.animateCamera(CameraUpdateFactory
- .newCameraPosition(cameraPosition));
- }
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- @Override
- protected void onResume() {
- super.onResume();
- initilizeMap();
- }
- private void initilizeMap() {
- if (googleMap == null) {
- googleMap = ((MapFragment) getFragmentManager().findFragmentById(
- R.id.map)).getMap();
- // check if map is created successfully or not
- if (googleMap == null) {
- Toast.makeText(getApplicationContext(),
- "Sorry! unable to create maps", Toast.LENGTH_SHORT)
- .show();
- }
- }
- }
- private double[] createRandLocation(double latitude, double longitude) {
- return new double[] { latitude + ((Math.random() - 0.5) / 500),
- longitude + ((Math.random() - 0.5) / 500),
- 150 + ((Math.random() - 0.5) * 10) };
- }
- }
- AndroidManifest.xml-------------------------------------------------------------------
- <?xml version="1.0" encoding="utf-8"?>
- <manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="com.travelingrecords"
- android:versionCode="1"
- android:versionName="1.0">
- <uses-sdk
- android:minSdkVersion="12"
- android:targetSdkVersion="17" />
- <permission
- android:name="com.travelingrecords.permission.MAPS_RECEIVE"
- android:protectionLevel="signature" />
- <uses-permission android:name="com.travelingrecords.permission.MAPS_RECEIVE" />
- <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
- <uses-permission android:name="android.permission.INTERNET" />
- <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
- <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
- <uses-permission android:name="android.permission.CAMERA"/>
- <!-- Required to show current location -->
- <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
- <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
- <!-- Required OpenGL ES 2.0. for Maps V2 -->
- <uses-feature
- android:glEsVersion="0x00020000"
- android:required="true" />
- <application
- android:allowBackup="true"
- android:icon="@drawable/site_recs"
- android:label="@string/app_name"
- android:theme="@style/AppTheme" >
- <activity
- android:name="com.activity.Activity_Splash"
- android:label="@string/app_name"
- android:theme="@android:style/Theme.NoTitleBar" >
- <intent-filter>
- <action android:name="android.intent.action.MAIN" />
- <category android:name="android.intent.category.LAUNCHER" />
- </intent-filter>
- </activity>
- <activity android:name="com.menu.Menu_Tab"
- android:label="@string/app_name"
- android:theme="@android:style/Theme.Holo.Light"/>
- <activity android:name="com.activity.Activity_Tracks"/>
- <activity android:name="com.activity.Activity_Maps"/>
- <activity android:name="com.activity.ActivityMaps"/>
- <activity
- android:name="com.activity.Activity_Camera"
- android:label="@string/app_name"
- android:configChanges="orientation"
- android:screenOrientation="portrait" >
- <intent-filter>
- <action android:name="android.intent.action.MAIN" />
- <category android:name="android.intent.category.LAUNCHER" />
- </intent-filter>
- </activity>
- <!-- Goolge API Key -->
- <meta-data
- android:name="com.google.android.maps.v2.API_KEY"
- android:value="AIzaSyBPj40CLXqgPMl6n7k4O6hkxeGPVf-rFq4" />
- </application>
- </manifest>
- Layoutnya Maps.xml-------------------------------------------------------------------
- <?xml version="1.0" encoding="utf-8"?>
- <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent" >
- <fragment
- android:id="@+id/map"
- android:name="com.google.android.gms.maps.MapFragment"
- android:layout_width="match_parent"
- android:layout_height="match_parent"/>
- </RelativeLayout>
- Error log-------------------------------------------------------------------
- 04-11 10:12:13.001: E/AndroidRuntime(11017): FATAL EXCEPTION: main
- 04-11 10:12:13.001: E/AndroidRuntime(11017): Process: com.travelingrecords, PID: 11017
- 04-11 10:12:13.001: E/AndroidRuntime(11017): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.travelingrecords/com.activity.ActivityMaps}: android.view.InflateException: Binary XML file line #6: Error inflating class fragment
- 04-11 10:12:13.001: E/AndroidRuntime(11017): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2318)
- 04-11 10:12:13.001: E/AndroidRuntime(11017): at android.app.ActivityThread.startActivityNow(ActivityThread.java:2139)
- 04-11 10:12:13.001: E/AndroidRuntime(11017): at android.app.LocalActivityManager.moveToState(LocalActivityManager.java:135)
- 04-11 10:12:13.001: E/AndroidRuntime(11017): at android.app.LocalActivityManager.startActivity(LocalActivityManager.java:347)
- 04-11 10:12:13.001: E/AndroidRuntime(11017): at android.widget.TabHost$IntentContentStrategy.getContentView(TabHost.java:749)
- 04-11 10:12:13.001: E/AndroidRuntime(11017): at android.widget.TabHost.setCurrentTab(TabHost.java:413)
- 04-11 10:12:13.001: E/AndroidRuntime(11017): at android.widget.TabHost$2.onTabSelectionChanged(TabHost.java:154)
- 04-11 10:12:13.001: E/AndroidRuntime(11017): at android.widget.TabWidget$TabClickListener.onClick(TabWidget.java:546)
- 04-11 10:12:13.001: E/AndroidRuntime(11017): at android.view.View.performClick(View.java:4478)
- 04-11 10:12:13.001: E/AndroidRuntime(11017): at android.view.View$PerformClick.run(View.java:18698)
- 04-11 10:12:13.001: E/AndroidRuntime(11017): at android.os.Handler.handleCallback(Handler.java:733)
- 04-11 10:12:13.001: E/AndroidRuntime(11017): at android.os.Handler.dispatchMessage(Handler.java:95)
- 04-11 10:12:13.001: E/AndroidRuntime(11017): at android.os.Looper.loop(Looper.java:149)
- 04-11 10:12:13.001: E/AndroidRuntime(11017): at android.app.ActivityThread.main(ActivityThread.java:5257)
- 04-11 10:12:13.001: E/AndroidRuntime(11017): at java.lang.reflect.Method.invokeNative(Native Method)
- 04-11 10:12:13.001: E/AndroidRuntime(11017): at java.lang.reflect.Method.invoke(Method.java:515)
- 04-11 10:12:13.001: E/AndroidRuntime(11017): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
- 04-11 10:12:13.001: E/AndroidRuntime(11017): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:609)
- 04-11 10:12:13.001: E/AndroidRuntime(11017): at dalvik.system.NativeStart.main(Native Method)
- 04-11 10:12:13.001: E/AndroidRuntime(11017): Caused by: android.view.InflateException: Binary XML file line #6: Error inflating class fragment
- 04-11 10:12:13.001: E/AndroidRuntime(11017): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:713)
- 04-11 10:12:13.001: E/AndroidRuntime(11017): at android.view.LayoutInflater.rInflate(LayoutInflater.java:755)
- 04-11 10:12:13.001: E/AndroidRuntime(11017): at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
- 04-11 10:12:13.001: E/AndroidRuntime(11017): at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
- 04-11 10:12:13.001: E/AndroidRuntime(11017): at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
- 04-11 10:12:13.001: E/AndroidRuntime(11017): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:290)
- 04-11 10:12:13.001: E/AndroidRuntime(11017): at android.app.Activity.setContentView(Activity.java:2002)
- 04-11 10:12:13.001: E/AndroidRuntime(11017): at com.activity.ActivityMaps.onCreate(ActivityMaps.java:26)
- 04-11 10:12:13.001: E/AndroidRuntime(11017): at android.app.Activity.performCreate(Activity.java:5411)
- 04-11 10:12:13.001: E/AndroidRuntime(11017): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
- 04-11 10:12:13.001: E/AndroidRuntime(11017): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2270)
- 04-11 10:12:13.001: E/AndroidRuntime(11017): ... 18 more
- 04-11 10:12:13.001: E/AndroidRuntime(11017): Caused by: java.lang.IllegalStateException: The meta-data tag in your apps AndroidManifest.xml does not have the right value. Expected 7095000 but found 0. You must have the following declaration within the <application> element: <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
- 04-11 10:12:13.001: E/AndroidRuntime(11017): at com.google.android.gms.common.GooglePlayServicesUtil.zzJ(Unknown Source)
- 04-11 10:12:13.001: E/AndroidRuntime(11017): at com.google.android.gms.common.GooglePlayServicesUtil.isGooglePlayServicesAvailable(Unknown Source)
- 04-11 10:12:13.001: E/AndroidRuntime(11017): at com.google.android.gms.maps.internal.zzx.zzad(Unknown Source)
- 04-11 10:12:13.001: E/AndroidRuntime(11017): at com.google.android.gms.maps.internal.zzx.zzac(Unknown Source)
- 04-11 10:12:13.001: E/AndroidRuntime(11017): at com.google.android.gms.maps.MapsInitializer.initialize(Unknown Source)
- 04-11 10:12:13.001: E/AndroidRuntime(11017): at com.google.android.gms.maps.MapFragment$zzb.zzqs(Unknown Source)
- 04-11 10:12:13.001: E/AndroidRuntime(11017): at com.google.android.gms.maps.MapFragment$zzb.zza(Unknown Source)
- 04-11 10:12:13.001: E/AndroidRuntime(11017): at com.google.android.gms.dynamic.zza.zza(Unknown Source)
- 04-11 10:12:13.001: E/AndroidRuntime(11017): at com.google.android.gms.dynamic.zza.onInflate(Unknown Source)
- 04-11 10:12:13.001: E/AndroidRuntime(11017): at com.google.android.gms.maps.MapFragment.onInflate(Unknown Source)
- 04-11 10:12:13.001: E/AndroidRuntime(11017): at android.app.Activity.onCreateView(Activity.java:4965)
- 04-11 10:12:13.001: E/AndroidRuntime(11017): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:689)
- 04-11 10:12:13.001: E/AndroidRuntime(11017): ... 28 more
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement