Advertisement
yandz1109

Error dengan API Google Maps Android

Apr 10th, 2015
175
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 13.80 KB | None | 0 0
  1. ActivityMAps.java-------------------------------------------------------------------
  2.  
  3. package com.activity;
  4. import android.app.Activity;
  5. import android.os.Bundle;
  6. import android.util.Log;
  7. import android.widget.Toast;
  8. import com.google.android.gms.maps.CameraUpdateFactory;
  9. import com.google.android.gms.maps.GoogleMap;
  10. import com.google.android.gms.maps.MapFragment;
  11. import com.google.android.gms.maps.model.BitmapDescriptorFactory;
  12. import com.google.android.gms.maps.model.CameraPosition;
  13. import com.google.android.gms.maps.model.LatLng;
  14. import com.google.android.gms.maps.model.MarkerOptions;
  15. import com.travelingrecords.R;
  16. public class ActivityMaps extends Activity {
  17.     // Google Map
  18.     private GoogleMap googleMap;
  19.     @Override
  20.     protected void onCreate(Bundle savedInstanceState) {
  21.         super.onCreate(savedInstanceState);
  22.         setContentView(R.layout.maps);
  23.         try {
  24.             // Loading map
  25.             initilizeMap();
  26.             // Changing map type
  27.             googleMap.setMapType(GoogleMap.MAP_TYPE_NORMAL);
  28.             // googleMap.setMapType(GoogleMap.MAP_TYPE_HYBRID);
  29.             // googleMap.setMapType(GoogleMap.MAP_TYPE_SATELLITE);
  30.             // googleMap.setMapType(GoogleMap.MAP_TYPE_TERRAIN);
  31.             // googleMap.setMapType(GoogleMap.MAP_TYPE_NONE);
  32.             // Showing / hiding your current location
  33.             googleMap.setMyLocationEnabled(true);
  34.             // Enable / Disable zooming controls
  35.             googleMap.getUiSettings().setZoomControlsEnabled(false);
  36.             // Enable / Disable my location button
  37.             googleMap.getUiSettings().setMyLocationButtonEnabled(true);
  38.             // Enable / Disable Compass icon
  39.             googleMap.getUiSettings().setCompassEnabled(true);
  40.             // Enable / Disable Rotate gesture
  41.             googleMap.getUiSettings().setRotateGesturesEnabled(true);
  42.             // Enable / Disable zooming functionality
  43.             googleMap.getUiSettings().setZoomGesturesEnabled(true);
  44.             double latitude = 17.385044;
  45.             double longitude = 78.486671;
  46.             // lets place some 10 random markers
  47.             for (int i = 0; i < 10; i++) {
  48.                 // random latitude and logitude
  49.                 double[] randomLocation = createRandLocation(latitude,
  50.                         longitude);
  51.                 // Adding a marker
  52.                 MarkerOptions marker = new MarkerOptions().position(
  53.                         new LatLng(randomLocation[0], randomLocation[1]))
  54.                         .title("Hello Maps " + i);
  55.                 Log.e("Random", "> " + randomLocation[0] + ", "
  56.                         + randomLocation[1]);
  57.                 // changing marker color
  58.                 if (i == 0)
  59.                     marker.icon(BitmapDescriptorFactory
  60.                             .defaultMarker(BitmapDescriptorFactory.HUE_AZURE));
  61.                 if (i == 1)
  62.                     marker.icon(BitmapDescriptorFactory
  63.                             .defaultMarker(BitmapDescriptorFactory.HUE_BLUE));
  64.                 if (i == 2)
  65.                     marker.icon(BitmapDescriptorFactory
  66.                             .defaultMarker(BitmapDescriptorFactory.HUE_CYAN));
  67.                 if (i == 3)
  68.                     marker.icon(BitmapDescriptorFactory
  69.                             .defaultMarker(BitmapDescriptorFactory.HUE_GREEN));
  70.                 if (i == 4)
  71.                     marker.icon(BitmapDescriptorFactory
  72.                             .defaultMarker(BitmapDescriptorFactory.HUE_MAGENTA));
  73.                 if (i == 5)
  74.                     marker.icon(BitmapDescriptorFactory
  75.                             .defaultMarker(BitmapDescriptorFactory.HUE_ORANGE));
  76.                 if (i == 6)
  77.                     marker.icon(BitmapDescriptorFactory
  78.                             .defaultMarker(BitmapDescriptorFactory.HUE_RED));
  79.                 if (i == 7)
  80.                     marker.icon(BitmapDescriptorFactory
  81.                             .defaultMarker(BitmapDescriptorFactory.HUE_ROSE));
  82.                 if (i == 8)
  83.                     marker.icon(BitmapDescriptorFactory
  84.                             .defaultMarker(BitmapDescriptorFactory.HUE_VIOLET));
  85.                 if (i == 9)
  86.                     marker.icon(BitmapDescriptorFactory
  87.                             .defaultMarker(BitmapDescriptorFactory.HUE_YELLOW));
  88.                 googleMap.addMarker(marker);
  89.                 // Move the camera to last position with a zoom level
  90.                 if (i == 9) {
  91.                     CameraPosition cameraPosition = new CameraPosition.Builder()
  92.                             .target(new LatLng(randomLocation[0],
  93.                                     randomLocation[1])).zoom(15).build();
  94.                     googleMap.animateCamera(CameraUpdateFactory
  95.                             .newCameraPosition(cameraPosition));
  96.                 }
  97.             }
  98.         } catch (Exception e) {
  99.             e.printStackTrace();
  100.         }
  101.     }
  102.     @Override
  103.     protected void onResume() {
  104.         super.onResume();
  105.         initilizeMap();
  106.     }
  107.     private void initilizeMap() {
  108.         if (googleMap == null) {
  109.             googleMap = ((MapFragment) getFragmentManager().findFragmentById(
  110.                     R.id.map)).getMap();
  111.             // check if map is created successfully or not
  112.             if (googleMap == null) {
  113.                 Toast.makeText(getApplicationContext(),
  114.                         "Sorry! unable to create maps", Toast.LENGTH_SHORT)
  115.                         .show();
  116.             }
  117.         }
  118.     }
  119.     private double[] createRandLocation(double latitude, double longitude) {
  120.         return new double[] { latitude + ((Math.random() - 0.5) / 500),
  121.                 longitude + ((Math.random() - 0.5) / 500),
  122.                 150 + ((Math.random() - 0.5) * 10) };
  123.     }
  124. }
  125.  
  126. AndroidManifest.xml-------------------------------------------------------------------
  127.  
  128. <?xml version="1.0" encoding="utf-8"?>
  129. <manifest xmlns:android="http://schemas.android.com/apk/res/android"
  130.       package="com.travelingrecords"
  131.       android:versionCode="1"
  132.       android:versionName="1.0">          
  133.     <uses-sdk
  134.         android:minSdkVersion="12"
  135.         android:targetSdkVersion="17" />
  136.     <permission
  137.         android:name="com.travelingrecords.permission.MAPS_RECEIVE"
  138.         android:protectionLevel="signature" />  
  139.     <uses-permission android:name="com.travelingrecords.permission.MAPS_RECEIVE" />
  140.     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
  141.     <uses-permission android:name="android.permission.INTERNET" />
  142.     <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
  143.     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
  144.     <uses-permission android:name="android.permission.CAMERA"/>
  145.     <!-- Required to show current location -->
  146.     <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
  147.     <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />    
  148.     <!-- Required OpenGL ES 2.0. for Maps V2 -->
  149.     <uses-feature
  150.         android:glEsVersion="0x00020000"
  151.         android:required="true" />      
  152.     <application
  153.         android:allowBackup="true"
  154.         android:icon="@drawable/site_recs"
  155.         android:label="@string/app_name"
  156.         android:theme="@style/AppTheme" >
  157.         <activity
  158.             android:name="com.activity.Activity_Splash"
  159.             android:label="@string/app_name"
  160.             android:theme="@android:style/Theme.NoTitleBar" >
  161.             <intent-filter>
  162.                 <action android:name="android.intent.action.MAIN" />
  163.                 <category android:name="android.intent.category.LAUNCHER" />
  164.             </intent-filter>
  165.         </activity>
  166.         <activity android:name="com.menu.Menu_Tab"
  167.                   android:label="@string/app_name"
  168.                   android:theme="@android:style/Theme.Holo.Light"/>
  169.         <activity android:name="com.activity.Activity_Tracks"/>
  170.         <activity android:name="com.activity.Activity_Maps"/>
  171.         <activity android:name="com.activity.ActivityMaps"/>
  172.         <activity
  173.             android:name="com.activity.Activity_Camera"
  174.             android:label="@string/app_name"
  175.             android:configChanges="orientation"
  176.             android:screenOrientation="portrait" >
  177.             <intent-filter>
  178.                 <action android:name="android.intent.action.MAIN" />
  179.                 <category android:name="android.intent.category.LAUNCHER" />
  180.             </intent-filter>
  181.         </activity>            
  182.         <!-- Goolge API Key -->
  183.         <meta-data
  184.              android:name="com.google.android.maps.v2.API_KEY"
  185.              android:value="AIzaSyBPj40CLXqgPMl6n7k4O6hkxeGPVf-rFq4" />
  186.     </application>
  187. </manifest>
  188.  
  189. Layoutnya Maps.xml-------------------------------------------------------------------
  190.  
  191. <?xml version="1.0" encoding="utf-8"?>
  192. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  193.     android:layout_width="fill_parent"
  194.     android:layout_height="fill_parent" >
  195.  
  196.     <fragment
  197.         android:id="@+id/map"
  198.         android:name="com.google.android.gms.maps.MapFragment"
  199.         android:layout_width="match_parent"
  200.         android:layout_height="match_parent"/>
  201.  
  202. </RelativeLayout>
  203.  
  204.  
  205. Error log-------------------------------------------------------------------
  206.  
  207. 04-11 10:12:13.001: E/AndroidRuntime(11017): FATAL EXCEPTION: main
  208. 04-11 10:12:13.001: E/AndroidRuntime(11017): Process: com.travelingrecords, PID: 11017
  209. 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
  210. 04-11 10:12:13.001: E/AndroidRuntime(11017):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2318)
  211. 04-11 10:12:13.001: E/AndroidRuntime(11017):    at android.app.ActivityThread.startActivityNow(ActivityThread.java:2139)
  212. 04-11 10:12:13.001: E/AndroidRuntime(11017):    at android.app.LocalActivityManager.moveToState(LocalActivityManager.java:135)
  213. 04-11 10:12:13.001: E/AndroidRuntime(11017):    at android.app.LocalActivityManager.startActivity(LocalActivityManager.java:347)
  214. 04-11 10:12:13.001: E/AndroidRuntime(11017):    at android.widget.TabHost$IntentContentStrategy.getContentView(TabHost.java:749)
  215. 04-11 10:12:13.001: E/AndroidRuntime(11017):    at android.widget.TabHost.setCurrentTab(TabHost.java:413)
  216. 04-11 10:12:13.001: E/AndroidRuntime(11017):    at android.widget.TabHost$2.onTabSelectionChanged(TabHost.java:154)
  217. 04-11 10:12:13.001: E/AndroidRuntime(11017):    at android.widget.TabWidget$TabClickListener.onClick(TabWidget.java:546)
  218. 04-11 10:12:13.001: E/AndroidRuntime(11017):    at android.view.View.performClick(View.java:4478)
  219. 04-11 10:12:13.001: E/AndroidRuntime(11017):    at android.view.View$PerformClick.run(View.java:18698)
  220. 04-11 10:12:13.001: E/AndroidRuntime(11017):    at android.os.Handler.handleCallback(Handler.java:733)
  221. 04-11 10:12:13.001: E/AndroidRuntime(11017):    at android.os.Handler.dispatchMessage(Handler.java:95)
  222. 04-11 10:12:13.001: E/AndroidRuntime(11017):    at android.os.Looper.loop(Looper.java:149)
  223. 04-11 10:12:13.001: E/AndroidRuntime(11017):    at android.app.ActivityThread.main(ActivityThread.java:5257)
  224. 04-11 10:12:13.001: E/AndroidRuntime(11017):    at java.lang.reflect.Method.invokeNative(Native Method)
  225. 04-11 10:12:13.001: E/AndroidRuntime(11017):    at java.lang.reflect.Method.invoke(Method.java:515)
  226. 04-11 10:12:13.001: E/AndroidRuntime(11017):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
  227. 04-11 10:12:13.001: E/AndroidRuntime(11017):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:609)
  228. 04-11 10:12:13.001: E/AndroidRuntime(11017):    at dalvik.system.NativeStart.main(Native Method)
  229. 04-11 10:12:13.001: E/AndroidRuntime(11017): Caused by: android.view.InflateException: Binary XML file line #6: Error inflating class fragment
  230. 04-11 10:12:13.001: E/AndroidRuntime(11017):    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:713)
  231. 04-11 10:12:13.001: E/AndroidRuntime(11017):    at android.view.LayoutInflater.rInflate(LayoutInflater.java:755)
  232. 04-11 10:12:13.001: E/AndroidRuntime(11017):    at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
  233. 04-11 10:12:13.001: E/AndroidRuntime(11017):    at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
  234. 04-11 10:12:13.001: E/AndroidRuntime(11017):    at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
  235. 04-11 10:12:13.001: E/AndroidRuntime(11017):    at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:290)
  236. 04-11 10:12:13.001: E/AndroidRuntime(11017):    at android.app.Activity.setContentView(Activity.java:2002)
  237. 04-11 10:12:13.001: E/AndroidRuntime(11017):    at com.activity.ActivityMaps.onCreate(ActivityMaps.java:26)
  238. 04-11 10:12:13.001: E/AndroidRuntime(11017):    at android.app.Activity.performCreate(Activity.java:5411)
  239. 04-11 10:12:13.001: E/AndroidRuntime(11017):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
  240. 04-11 10:12:13.001: E/AndroidRuntime(11017):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2270)
  241. 04-11 10:12:13.001: E/AndroidRuntime(11017):    ... 18 more
  242. 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" />
  243. 04-11 10:12:13.001: E/AndroidRuntime(11017):    at com.google.android.gms.common.GooglePlayServicesUtil.zzJ(Unknown Source)
  244. 04-11 10:12:13.001: E/AndroidRuntime(11017):    at com.google.android.gms.common.GooglePlayServicesUtil.isGooglePlayServicesAvailable(Unknown Source)
  245. 04-11 10:12:13.001: E/AndroidRuntime(11017):    at com.google.android.gms.maps.internal.zzx.zzad(Unknown Source)
  246. 04-11 10:12:13.001: E/AndroidRuntime(11017):    at com.google.android.gms.maps.internal.zzx.zzac(Unknown Source)
  247. 04-11 10:12:13.001: E/AndroidRuntime(11017):    at com.google.android.gms.maps.MapsInitializer.initialize(Unknown Source)
  248. 04-11 10:12:13.001: E/AndroidRuntime(11017):    at com.google.android.gms.maps.MapFragment$zzb.zzqs(Unknown Source)
  249. 04-11 10:12:13.001: E/AndroidRuntime(11017):    at com.google.android.gms.maps.MapFragment$zzb.zza(Unknown Source)
  250. 04-11 10:12:13.001: E/AndroidRuntime(11017):    at com.google.android.gms.dynamic.zza.zza(Unknown Source)
  251. 04-11 10:12:13.001: E/AndroidRuntime(11017):    at com.google.android.gms.dynamic.zza.onInflate(Unknown Source)
  252. 04-11 10:12:13.001: E/AndroidRuntime(11017):    at com.google.android.gms.maps.MapFragment.onInflate(Unknown Source)
  253. 04-11 10:12:13.001: E/AndroidRuntime(11017):    at android.app.Activity.onCreateView(Activity.java:4965)
  254. 04-11 10:12:13.001: E/AndroidRuntime(11017):    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:689)
  255. 04-11 10:12:13.001: E/AndroidRuntime(11017):    ... 28 more
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement