Android maps v2 API仅显示缩放控件
我正在尝试使用适用于android的MapsAPIv2实现一个应用程序。 这是我正在使用的代码Android maps v2 API仅显示缩放控件,android,google-maps-android-api-2,Android,Google Maps Android Api 2,我正在尝试使用适用于android的MapsAPIv2实现一个应用程序。 这是我正在使用的代码 <?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"
<?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.SupportMapFragment"/>
这是什么
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.nav3"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="17"
android:targetSdkVersion="17" />
<permission
android:name="com.example.nav3.permission.MAPS_RECEIVE"
android:protectionLevel="signature" />
<uses-feature
android:glEsVersion="0x00020000"
android:required="true" />
<uses-permission android:name="com.example.nav3.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.nav3.MainActivity2"
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.maps.v2.API_KEY"
android:value="my key comes here" />
</application>
</manifest>
您需要使用
MapFragment
而不是SupportMapFragment
<fragment
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:name="com.google.android.gms.maps.MapFragment"/>
您还需要扩展标准活动
确保您拥有正确的导入语句检查您是否使用在Google API控制台中为其生成API密钥的证书对应用程序进行签名(确保您使用的是Google Maps Android API v2而不是Google Maps API v2)
还要确保您测试应用程序的设备支持OpenGL ES 2.0。检查您正在使用的所有权限均不受限制 以下是权限
<permission
android:name="yourpackagename.permission.MAPS_RECEIVE"
android:protectionLevel="signature" />
<uses-permission android:name="yourpackagename.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-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-feature
android:glEsVersion="0x00020000"
android:required="true" />
并检查api密钥是否有效检查设备网络连接。请发布清单,并检查LogCat是否存在任何相关错误。请检查更新的question@Shivam10您不需要使用
SupportMapFragment
。使用MapFragment
。因为你的最小sdk是17并且不低于1712@Raghunandan如果我将其保留为MapFragment,应用程序将崩溃并显示“错误膨胀类片段”。您是否尝试在StackOverflow上搜索此问题?已经有人问了137次我是否正确计算了这些数字;)在这两种情况下,应用程序都会崩溃。@Shivam10您需要发布堆栈跟踪。您还需要进行建议的更改。是的,我已将supportmapfragment更改为mapfragment,将fragmentactivity更改为activity,但在这种情况下,应用程序会崩溃。显示的错误是“错误膨胀类片段”@Shivam10仍然没有足够的信息来发布堆栈跟踪。您是否引用过google play services库项目?您是否遵循了文档中提到的所有步骤?是的,我引用了库并遵循了所有步骤。我现在发布堆栈跟踪,并检查是否有google play服务。com.google.android.gms.maps.MapFragment使用此设备使用另一台设备,它可能会出现在该设备上。如果设备上未安装googleplay服务,请检查google api控制台是否开启了gmaps api v2服务?
<fragment
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:name="com.google.android.gms.maps.MapFragment"/>
<permission
android:name="yourpackagename.permission.MAPS_RECEIVE"
android:protectionLevel="signature" />
<uses-permission android:name="yourpackagename.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-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-feature
android:glEsVersion="0x00020000"
android:required="true" />