膨胀片段时,Android Google Maps v2错误

用户名

我对谷歌地图的实施完全困惑了一天半。我遵循了链接中提到的所有必要步骤。https://developers.google.com/maps/documentation/android/start#getting_the_google_maps_android_api_v2

但是,所有时间我都会遇到以下提及的错误。我需要您的鹰眼经验。

错误:

04-22 12:02:14.599: E/AndroidRuntime(6702): FATAL EXCEPTION: main
04-22 12:02:14.599: E/AndroidRuntime(6702): java.lang.RuntimeException: Unable to start activity     
ComponentInfo{com.example.srihari/com.example.srihari.MapLocation}: 
android.view.InflateException: Binary XML file line #7: Error inflating class fragment
04-22 12:02:14.599: E/AndroidRuntime(6702):     at 
android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2110)
04-22 12:02:14.599: E/AndroidRuntime(6702):     at 
android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2135)
04-22 12:02:14.599: E/AndroidRuntime(6702):     at 
android.app.ActivityThread.access$700(ActivityThread.java:140)
04-22 12:02:14.599: E/AndroidRuntime(6702):     at 
android.app.ActivityThread$H.handleMessage(ActivityThread.java:1237)
04-22 12:02:14.599: E/AndroidRuntime(6702):     at 
android.os.Handler.dispatchMessage(Handler.java:99)
04-22 12:02:14.599: E/AndroidRuntime(6702):     at android.os.Looper.loop(Looper.java:137)
04-22 12:02:14.599: E/AndroidRuntime(6702):     at 
android.app.ActivityThread.main(ActivityThread.java:4921)
04-22 12:02:14.599: E/AndroidRuntime(6702):     at 
java.lang.reflect.Method.invokeNative(Native Method)
04-22 12:02:14.599: E/AndroidRuntime(6702):     at 
java.lang.reflect.Method.invoke(Method.java:511)
04-22 12:02:14.599: E/AndroidRuntime(6702):     at 
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1038)
04-22 12:02:14.599: E/AndroidRuntime(6702):     at 
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:805)
04-22 12:02:14.599: E/AndroidRuntime(6702):     at dalvik.system.NativeStart.main(Native 
Method)
04-22 12:02:14.599: E/AndroidRuntime(6702): Caused by: android.view.InflateException: Binary XML 
file line #7: Error inflating class fragment
04-22 12:02:14.599: E/AndroidRuntime(6702):     at 
android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)
04-22 12:02:14.599: E/AndroidRuntime(6702):     at 
android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
04-22 12:02:14.599: E/AndroidRuntime(6702):     at 
android.view.LayoutInflater.inflate(LayoutInflater.java:489)
04-22 12:02:14.599: E/AndroidRuntime(6702):     at 
android.view.LayoutInflater.inflate(LayoutInflater.java:396)
04-22 12:02:14.599: E/AndroidRuntime(6702):     at 
android.view.LayoutInflater.inflate(LayoutInflater.java:352)
04-22 12:02:14.599: E/AndroidRuntime(6702):     at 
com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:316)
04-22 12:02:14.599: E/AndroidRuntime(6702):     at 
android.app.Activity.setContentView(Activity.java:1924)
04-22 12:02:14.599: E/AndroidRuntime(6702):     at 
com.example.srihari.MapLocation.onCreate(MapLocation.java:36)
04-22 12:02:14.599: E/AndroidRuntime(6702):     at 
android.app.Activity.performCreate(Activity.java:5188)
04-22 12:02:14.599: E/AndroidRuntime(6702):     at 
android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094)
04-22 12:02:14.599: E/AndroidRuntime(6702):     at 
android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2074)
04-22 12:02:14.599: E/AndroidRuntime(6702):     ... 11 more
04-22 12:02:14.599: E/AndroidRuntime(6702): Caused by: java.lang.IllegalStateException: The meta-
data tag in your app's AndroidManifest.xml does not have the right value.  Expected 4323000 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-22 12:02:14.599: E/AndroidRuntime(6702):     at 
com.google.android.gms.common.GooglePlayServicesUtil.t(Unknown Source)
04-22 12:02:14.599: E/AndroidRuntime(6702):     at 
com.google.android.gms.common.GooglePlayServicesUtil.isGooglePlayServicesAvailable(Unknown 
Source)
04-22 12:02:14.599: E/AndroidRuntime(6702):     at 
com.google.android.gms.maps.internal.q.B(Unknown Source)
04-22 12:02:14.599: E/AndroidRuntime(6702):     at 
com.google.android.gms.maps.internal.q.A(Unknown Source)
04-22 12:02:14.599: E/AndroidRuntime(6702):     at 
com.google.android.gms.maps.MapsInitializer.initialize(Unknown Source)
04-22 12:02:14.599: E/AndroidRuntime(6702):     at 
com.google.android.gms.maps.SupportMapFragment$b.gW(Unknown Source)
04-22 12:02:14.599: E/AndroidRuntime(6702):     at 
com.google.android.gms.maps.SupportMapFragment$b.a(Unknown Source)
04-22 12:02:14.599: E/AndroidRuntime(6702):     at com.google.android.gms.dynamic.a.a(Unknown 
Source)
04-22 12:02:14.599: E/AndroidRuntime(6702):     at 
com.google.android.gms.dynamic.a.onInflate(Unknown Source)
04-22 12:02:14.599: E/AndroidRuntime(6702):     at 
com.google.android.gms.maps.SupportMapFragment.onInflate(Unknown Source)
04-22 12:02:14.599: E/AndroidRuntime(6702):     at 
android.support.v4.app.FragmentActivity.onCreateView(FragmentActivity.java:290)
04-22 12:02:14.599: E/AndroidRuntime(6702):     at 
android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:676)
04-22 12:02:14.599: E/AndroidRuntime(6702):     ... 21 more

XML:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >

<fragment 
    android:id="@+id/map2"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    class="com.google.android.gms.maps.SupportMapFragment" />

    </RelativeLayout>

代码:

package com.example.srihari;

import com.google.android.gms.common.ConnectionResult;
import com.google.android.gms.common.GooglePlayServicesUtil;
import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.GoogleMap.OnMapClickListener;
import com.google.android.gms.maps.GoogleMap.OnMapLongClickListener;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.MarkerOptions;


import android.app.Dialog;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.view.Menu;
import android.widget.Toast;





public class MapLocation extends FragmentActivity {


GoogleMap googleMap;    
SharedPreferences sharedPreferences;    
int locationCount = 0;


@Override

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.map_locations);

    // Getting Google Play availability status
    int status = GooglePlayServicesUtil.isGooglePlayServicesAvailable(getBaseContext());

    // Showing status
    if(status!=ConnectionResult.SUCCESS){ // Google Play Services are not available

        int requestCode = 10;
        Dialog dialog = GooglePlayServicesUtil.getErrorDialog(status, this, requestCode);
        dialog.show();

    }else { // Google Play Services are available           

        // Getting reference to the SupportMapFragment of activity_main.xml
        SupportMapFragment fm = (SupportMapFragment) 
getSupportFragmentManager().findFragmentById(R.id.map2);

        // Getting GoogleMap object from the fragment
        googleMap = fm.getMap();

        // Enabling MyLocation Layer of Google Map
        googleMap.setMyLocationEnabled(true);           

        // Opening the sharedPreferences object
        sharedPreferences = getSharedPreferences("location", 0);

        // Getting number of locations already stored
        locationCount = sharedPreferences.getInt("locationCount", 0);


        // Getting stored zoom level if exists else return 0
        String zoom = sharedPreferences.getString("zoom", "0");

        // If locations are already saved
        if(locationCount!=0){           

            String lat = "";
            String lng = "";

            // Iterating through all the locations stored
            for(int i=0;i<locationCount;i++){

                // Getting the latitude of the i-th location
                lat = sharedPreferences.getString("lat"+i,"0");

                // Getting the longitude of the i-th location
                lng = sharedPreferences.getString("lng"+i,"0");

                // Drawing marker on the map
                drawMarker(new LatLng(Double.parseDouble(lat), 
Double.parseDouble(lng)));                  
            }

            // Moving CameraPosition to last clicked position
            googleMap.moveCamera(CameraUpdateFactory.newLatLng(new 
LatLng(Double.parseDouble(lat), Double.parseDouble(lng))));

            // Setting the zoom level in the map on last position  is clicked
            googleMap.animateCamera(CameraUpdateFactory.zoomTo(Float.parseFloat(zoom)));                            
        }

    }        

    googleMap.setOnMapClickListener(new OnMapClickListener() {

        @Override
        public void onMapClick(LatLng point) {      
            locationCount++;

            // Drawing marker on the map
            drawMarker(point);

            /** Opening the editor object to write data to sharedPreferences */
            SharedPreferences.Editor editor = sharedPreferences.edit();         

            // Storing the latitude for the i-th location
            editor.putString("lat"+ Integer.toString((locationCount-1)), 
Double.toString(point.latitude));

            // Storing the longitude for the i-th location
            editor.putString("lng"+ Integer.toString((locationCount-1)), 
Double.toString(point.longitude));

            // Storing the count of locations or marker count
            editor.putInt("locationCount", locationCount);              

            /** Storing the zoom level to the shared preferences */
            editor.putString("zoom", Float.toString(googleMap.getCameraPosition().zoom));               

            /** Saving the values stored in the shared preferences */
            editor.commit();            

            Toast.makeText(getBaseContext(), "Marker is added to the Map", 
Toast.LENGTH_SHORT).show();                 

        }
    }); 


    googleMap.setOnMapLongClickListener(new OnMapLongClickListener() {              
        @Override
        public void onMapLongClick(LatLng point) {

            // Removing the marker and circle from the Google Map
            googleMap.clear();

            // Opening the editor object to delete data from sharedPreferences
            SharedPreferences.Editor editor = sharedPreferences.edit();

            // Clearing the editor
            editor.clear();

            // Committing the changes
            editor.commit();

            // Setting locationCount to zero
            locationCount=0;

        }
    });           


}

private void drawMarker(LatLng point){
    // Creating an instance of MarkerOptions
    MarkerOptions markerOptions = new MarkerOptions();                  

    // Setting latitude and longitude for the marker
    markerOptions.position(point);

    // Adding marker on the Google Map
    googleMap.addMarker(markerOptions);         
}



@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}


}

清单文件:

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.srihari"
android:versionCode="1"
android:versionName="1.0" >

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

 <permission
      android:name="com.example.srihari.permission.MAPS_RECEIVE"
      android:protectionLevel="signature"/>


<uses-permission android:name="com.example.srihari.permission.MAPS_RECEIVE"/>

<uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

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

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >



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


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

            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>


       <activity
        android:name="com.example.srihari.LogIn"
        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="com.example.srihari.ImportFile"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>

        <activity
        android:name="com.example.srihari.SelectCustomer"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>
      <activity
        android:name="com.example.srihari.ProductList"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>

       <activity
        android:name="com.example.srihari.ImportImageDetails"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>

        <activity
        android:name="com.example.srihari.CreateConfirmOrderList"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>
    <activity
        android:name="com.example.srihari.ShowImage"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>
    <activity
        android:name="com.example.srihari.DataXmlExporter"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>

    <activity
        android:name="com.example.srihari.OrderUpdate"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>

    <activity
        android:name="com.example.srihari.StatusImport"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>

     <activity
        android:name="com.example.srihari.OrderHistory"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>

        <activity
        android:name="com.example.srihari.SingleOrderDetails"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>

         <activity
          android:name="com.example.srihari.CustomerDetailsSingle"
          android:label="@string/app_name" >
            <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
       </activity>

          <activity
        android:name="com.example.srihari.MainActivityIndivisual"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>


            <activity
        android:name="com.example.srihari.MapLocation"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>


            <activity
        android:name="com.example.srihari.ThankYouPage"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>



</application>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.SEND_SMS" />
 <uses-permission android:name="android.permission.RECEIVE_SMS" />
  <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>


</manifest>
医学博士

你的logcat清楚地说

由以下原因引起:java.lang.IllegalStateException:应用程序的AndroidManifest.xml中的元数据标记没有正确的值。预期为4323000,但发现为0。元素中必须具有以下声明:

尝试使用文件中<meta-data>标记下的<application>标记添加Google Play服务版本manifest.xml例如

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

让你manifest.xml喜欢

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

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

</application>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Google Maps API v2中膨胀片段异常

来自分类Dev

错误夸大类片段,Google Maps API v2

来自分类Dev

Android Google Maps v2未知错误

来自分类Dev

Google Maps Android API v2

来自分类Dev

Google Android Maps v2 MetersToEquatorPixel

来自分类Dev

Android Google Maps v2测试

来自分类Dev

空白的Android Google Maps v2

来自分类Dev

Google Maps Android API v2

来自分类Dev

Android Google Maps v2导航

来自分类Dev

Google Maps V2异常:在Fragment中夸大类片段的错误

来自分类Dev

Android SDK Google Services Maps API V2出现错误

来自分类Dev

无法加载地图。与Android Google Maps API v2的Google服务器联系时发生错误

来自分类Dev

Google Map返回nullpointerexception Google Maps Android V2

来自分类Dev

Google Map返回nullpointerexception Google Maps Android V2

来自分类Dev

运行Google Maps API V2示例时出错

来自分类Dev

运行google maps api v2时出错

来自分类Dev

更改OnMylocationButtonClick在Google Maps v2 Android中缩放

来自分类Dev

在Google Maps v2 Android上添加标记

来自分类Dev

Google Maps Activity V2 Android Studio

来自分类Dev

在Android,Google Maps v2中绘制实时路线

来自分类Dev

Android Google Maps Api V2崩溃

来自分类Dev

Google Maps Android API v2停止工作

来自分类Dev

拖动折线onMarkerDrag Android Google Maps v2

来自分类Dev

Android Studio集成了Google Maps API v2

来自分类Dev

Google Maps Error-Android应用¦¦ v2

来自分类Dev

仅运行Google Maps Android API v2 3

来自分类Dev

Android Google Maps API v2检查土地或水域

来自分类Dev

Android Google Maps API v2:获取我的方位

来自分类Dev

无法连接到Google Maps Api Android V2