Google地图教程问题

时间:2014-02-27 16:13:55

标签: android google-maps

我一直在尝试设置一个简单的谷歌地图应用程序一段时间,但我遇到的问题是我无法解决。我将引导您完成我到目前为止所完成的工作:

  • 制作了一个新项目
  • 将google-play-services-lib导入为单独的项目
  • 我去了我项目的android属性并添加了google-play-services-lib作为库
  • 我去了android工具并将android支持库添加到我的项目

我在主要活动中添加了以下代码

import android.os.Bundle;
import android.support.v4.app.FragmentActivity;

public class MapActivity extends FragmentActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.map_activity);
    }
}

我将以下代码添加到我的ma-_activity xml文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

<fragment
    android:name="com.google.android.gms.maps.SupportMapFragment"
    xmlns:map="http://schemas.android.com/apk/res-auto"
    android:id="@+id/map"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />
</LinearLayout>

我将以下代码添加到我的android清单文件

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

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

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

    <permission   android:name="com.example.please.permission.MAPS_RECEIVE"                             android:protectionLevel="signature"/>
    <uses-permission android:name="com.example.please.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" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.please.MapActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

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

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

        <meta-data
        android:name="com.google.android.maps.v2.API_KEY"
        android:value="MY ACTUAL KEY IS HERE" />

    </application>
</manifest>

它不允许我上传我的日志文件,因为我是新来的,但这里有一个摘要

fatal exception Main
java.lang.RuntimeException  unable to start activity ComponentInfo{...MapActivity}android.view.InflateException, BinaryXML file line #7 Error inflating class fragment

我每次都尝试使用不同的项目导入google jar文件的所有可能方式,但我无法使用它们中的任何一个。有没有人有任何建议或看到我做错了什么?谢谢!

1 个答案:

答案 0 :(得分:0)

在map_activity.xml中更改此行

android:name="com.google.android.gms.maps.SupportMapFragment"

进入这个

class="com.google.android.gms.maps.SupportMapFragment"