google maps v2 cant force close

时间:2013-07-06 10:05:09

标签: android android-activity google-maps-android-api-2

我正在尝试在我的android mobile.i上显示一些地图。所以我检查了一些代码。所以我得到了错误。 这是我遇到的错误。

07-06 15:22:13.359: E/AndroidRuntime(10309):    at com.google.android.gms.maps.SupportMapFragment.onInflate(Unknown Source)

这是我的活动

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

this is my layout

<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 xmlns:android="http://schemas.android.com/apk/res/android"
          android:id="@+id/map"
          android:layout_width="match_parent"
          android:layout_height="match_parent"
          class="com.google.android.gms.maps.SupportMapFragment"/>
</RelativeLayout>

这是我的清单文件

    <permission
      android:name="com.android.softroniics.gmaps.permission.MAPS_RECEIVE"
      android:protectionLevel="signature"/>

<uses-permission android:name="com.android.softroniics.gmaps.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"/>


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

请找到一个显示简单地图的解决方案,尝试了一堆教程来展示amap v2。 提前谢谢'

2 个答案:

答案 0 :(得分:1)

为了让地图工作,您需要遵循几个简单的步骤。我会在这里总结一下:

- 添加Google Play服务

这只是添加库项目并确保正确导出库项目的问题。

ADT 22存在一个问题,它有时会“忘记”将图书馆导出到您的APK。您可以通过进入构建设置并确保选中Android Private Libraries来验证这一点。这将确保存储在项目libs文件夹中的任何内容都将在APK中正确导出。

- 确定您的最低SDK级别。

要在旧设备上使用新的Google Maps V2 API,我们需要做两件事

  • 在布局中使用SupportMapFragment而不是MapFragment
  • 使用FragmentActivity而不是Activity
  • 在FragmentActivity中使用SupportFragmentManager而不是FragmentManager

- 正确设置地图密钥

使用以下概述查看是否所有内容都已正确设置:

Overview picture

- 解释LogCat中的堆栈跟踪

这将告诉您是否正在处理库问题(未包含Google Play服务)或地图API密钥问题(授权问题)

- 请参阅本指南+示例项目

我写了一篇关于如何设置骨架项目的文章。您可以在此处找到它:http://ddewaele.github.io/GoogleMapsV2WithActionBarSherlock/part1

我还使用地图创建了2个骨架项目。您应该能够克隆它们,更改API密钥并继续使用。我有一个较旧的Android版本(使用支持库)和较新的Android版本(使用本机片段)

https://github.com/ddewaele/GoogleMapsV2WithActionBarSherlock

答案 1 :(得分:0)

I had made sample code for map . hope this will help [Github Link](https://github.com/shujat89/myAndroidPractices.git)