2014-09-04 5 views
0

Я новичок в разработке Android и ищу кого-то, кто поможет мне интегрировать карты Google с моим приложением. Попробовали несколько образцов, которые я нашел в Интернете, но, похоже, не могут заставить их работать. Мне нужно подключить карты Google к моему приложению и показать маршрут, тот же маршрут, который мне нужно создать с помощью карт Google.Приложение для Android - с помощью Google Maps

Любая помощь будет действительно оценена!

Это мой activity_main.xml:

<?xml version="1.0" encoding="utf-8"?> 
<fragment xmlns:android="http://schemas.android.com/apk/res/android" 
      android:id="@+id/map" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:name="com.google.android.gms.maps.MapFragment"/> 

MainActivity выглядит следующим образом:

public class MainActivity extends Activity { 

@Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
    } 
} 

И это мой манифест:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.test" 
    android:versionCode="1" 
    android:versionName="1.0" > 

    <uses-feature 
     android:glEsVersion="0x00020000" 
     android:required="true" /> 

    <uses-sdk 
     android:minSdkVersion="8" 
     android:targetSdkVersion="20" /> 

    <uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
    <!-- 
    The following two permissions are not required to use 
    Google Maps Android API v2, but are recommended. 
    --> 
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 

    <meta-data 
     android:name="com.google.android.gms.version" 
     android:value="@integer/google_play_services_version" /> 

    <application 
     android:allowBackup="true" 
     android:icon="@drawable/icon" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 
     <meta-data 
      android:name="com.google.android.maps.v2.API_KEY" 
      android:value="--------------------------------------" /> 

     <activity 
      android:name=".MainActivity" 
      android:label="@string/app_name" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <activity android:name=".AboutUs" > 
     </activity> 
</application> 
</manifest> 

Лог ошибок:

09-06 08: 55: 31.325: I/dalvikvm (302): Не удалось найти метод android.content.pm.PackageManager.getActivityLogo, на который ссылается метод android.support.v7.internal.widget.ActionBarView. 09-06 08: 55: 31.325: W/dalvikvm (302): VFY: невозможно разрешить виртуальный метод 505: Landroid/content/pm/PackageManager; .getActivityLogo (Landroid/content/ComponentName;) Landroid/graphics/drawable/Drawable; 09-06 08: 55: 31.325: D/dalvikvm (302): VFY: замена кода операции 0x6e на 0x008b 09-06 08: 55: 31.325: I/dalvikvm (302): Не удалось найти метод android.content.pm .ApplicationInfo.loadLogo, на который ссылается метод android.support.v7.internal.widget.ActionBarView. 09-06 08: 55: 31.325: W/dalvikvm (302): VFY: невозможно разрешить виртуальный метод 498: Landroid/content/pm/ApplicationInfo; .loadLogo (Landroid/content/pm/PackageManager;) Landroid/graphics/вытяжка/Drawable; 09-06 08: 55: 31.325: D/dalvikvm (302): VFY: замена кода операции 0x6e на 0x0099 09-06 08: 55: 31.345: D/dalvikvm (302): VFY: мертвый код 0x008e-0092 в Landroid/поддержка/v7/внутренний/виджет/ActionBarView ;. (Landroid/content/Context; Landroid/util/AttributeSet;) V 09-06 08: 55: 31.345: D/dalvikvm (302): VFY: мертвый код 0x009c-00a0 в Landroid/support/v7/internal/widget/ActionBarView ;. (Landroid/content/Context; Landroid/util/AttributeSet;) V 09-06 08: 55: 31.525: W/dalvikvm (302): невозможно разрешить суперкласс Lcom/google/android/gms/maps/MapFragment; (30) 09-06 08: 55: 31.525: W/dalvikvm (302): Ссылка на класс 'Lcom/google/android/gms/maps/MapFragment;' не удалось 09-06 08: 55: 31.535: D/AndroidRuntime (302): выключение VM 09-06 08: 55: 31.535: W/dalvikvm (302): threadid = 1: поток, выходящий с неперехваченным исключением (group = 0x4001d800) 09-06 08: 55: 31.555: E/AndroidRuntime (302): FATAL EXCEPTION: main 09-06 08: 55: 31.555: E/AndroidRuntime (302): java.lang.RuntimeException: не удается запустить активность ComponentInfo {com.example.avpanelswalks/com.example.avpanelswalks.MainActivity}: android.view.InflateException: двоичная строка XML-файла # 2: ошибка раздувания фрагмента класса 09-06 08: 55: 31.555: E/AndroidRuntime (302) : at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2663) 09-06 08: 55: 31.555: E/AndroidRuntime (302): at android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2679) 09 -06 08: 55: 31.555: E/AndroidRun время (302): at android.app.ActivityThread.access $ 2300 (ActivityThread.java:125) 09-06 08: 55: 31.555: E/AndroidRuntime (302): at android.app.ActivityThread $ H.handleMessage (ActivityThread .java: 2033) 09-06 08: 55: 31.555: E/AndroidRuntime (302): at android.os.Handler.dispatchMessage (Handler.java:99) 09-06 08: 55: 31.555: E/AndroidRuntime (302): at android.os.Looper.loop (Looper.java:123) 09-06 08: 55: 31.555: E/AndroidRuntime (302): at android.app.ActivityThread.main (ActivityThread.java:4627) 09-06 08:55:31.555: E/AndroidRuntime (302): при java.lang.reflect.Method.invokeNative (собственный метод) 09-06 08: 55: 31.555: E/AndroidRuntime (302): at java.lang.reflect.Method.invoke (Method.java:521) 09-06 08: 55: 31.555: E/AndroidRuntime (302): at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:868) 09-06 08 : 55: 31.555: E/AndroidRuntime (302): at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:626) 09-06 08: 55: 31.555: E/AndroidRuntime (302): at dalvik .system.NativeStart.main (Native Method) 09-06 08: 55: 31.555: E/AndroidRuntime (302): вызвано: android.view.InflateException: двоичная строка XML-файла # 2: ошибка раздувания фрагмента класса 09- 06 08: 55: 31.555: E/AndroidRuntime (302): at android.view.LayoutInflater.createViewFromTag (LayoutInflater.java:576) 09-06 08:55:31 .555: E/AndroidRuntime (302): at android.view.LayoutInflater.inflate (LayoutInflater.java:385) 09-06 08: 55: 31.555: E/AndroidRuntime (302): на android.view.LayoutInflater.inflate (LayoutInflater.java:320) 09-06 08: 55: 31.555: E/AndroidRuntime (302): на android.view.LayoutInflater.inflate (LayoutInflater.java:276) 09-06 08: 55: 31.555: E/AndroidRuntime (302): at android.support.v7.app.ActionBarActivityDelegateBase.setContentView (ActionBarActivityDelegateBase.java:128) 09-06 08: 55: 31.555: E/AndroidRuntime (302): at android.support.v7.app .ActionBarActivity.setContentView (ActionBarActivity.java:77) 09-06 08: 55: 31.555: E/AndroidRuntime (302): at com.example.avpanelswalks.MainActivity.onCreate (MainActivity.java:21) 09-06 08 : 55: 31.555: E/AndroidRuntime (302): at android.app.Instrumentation.callActivityOnCreate (Instrum entation.java:1047) 09-06 08: 55: 31.555: E/AndroidRuntime (302): at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2627) 09-06 08: 55: 31.555: E/AndroidRuntime (302): ... 11 далее 09-06 08: 55: 31.555: E/AndroidRuntime (302): вызвано: java.lang.ClassNotFoundException: android.view.fragment в загрузчике dalvik.system.PathClassLoader [/ data/app/com.example.avpanelswalks-1.apk] 09-06 08: 55: 31.555: E/AndroidRuntime (302): at dalvik.system.PathClassLoader.findClass (PathClassLoader.java:243) 09-06 08: 55: 31.555: E/AndroidRuntime (302): at java.lang.ClassLoader.loadClass (ClassLoader.java:573) 09-06 08: 55: 31.555: E/AndroidRuntime (302): at java.lang. ClassLoader.loadClass (ClassLoader.java:532) 09-06 08: 55: 31.555: E/AndroidRuntime (302): at android.view.LayoutInflater.c reateView (LayoutInflater.java:466) 09-06 08: 55: 31.555: E/AndroidRuntime (302): на android.view.LayoutInflater.onCreateView (LayoutInflater.java:544) 09-06 08: 55: 31.555: E/AndroidRuntime (302): на com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView (PhoneLayoutInflater.java:66) 09-06 08: 55: 31.555: E/AndroidRuntime (302): на android.view. LayoutInflater.createViewFromTag (LayoutInflater.java:563) 09-06 08: 55: 31.555: E/AndroidRuntime (302): ...19 более

+2

Вы должны задать конкретный вопрос о проблеме вы имеете - этот вопрос является слишком общим. – Booger

ответ

1

Вы не найдете инструкции, чем документации Google:

  1. Get an API Key for Google Maps
  2. Add a map to your Application
  3. Use the Google Directions API to request the routes you need

Более подробная информация https://developer.android.com/google/play-services/maps.html

Update: Попробуйте использовать SupportMapFragment (com.google.android.gms.maps.SupportMapFragment) вместо com.google.android.gms.maps. MapFragment в вашем layout.xml. Кроме того, необходимо расширить FragmentActivity тогда вместо активности

+0

Спасибо за ваш ответ. Да, это кажется довольно приличным, но мне нужно сначала интегрировать карты Google с моим приложением. Кажется, он не работает! –

+0

Это потому, что вам нужен API-ключ, разрешения и прочее, на самом деле это довольно сложно. – EpicPandaForce

+0

Я обновил свой ответ ссылкой о том, как получить ключ –

Смежные вопросы