早上好,我遇到了Android Google Maps Api v2的问题,它没有加载地图。 我使用的是SupportMapFragment,它放在抽屉导航片段中。 所有的身份验证都是正确的,已经检查了一百万次的权限,它仍然是相同的。 我在已经在设备中测试的模拟器中发布了一些代码和结果图像:
CreateFragment.class
GoogleMap mMap;
ImageButton create;
Geocoder geoCoder;
int radius;
Double latitude;
Double longitude;
LatLng latLong;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_create, container, false);
// create = (ImageButton)rootView.findViewById(R.id.create);
// create.setOnClickListener(Handler);
mMap = ((SupportMapFragment) getFragmentManager().findFragmentById(R.id.map))
.getMap();
mMap.setMyLocationEnabled(true);
mMap.setMapType(GoogleMap.MAP_TYPE_HYBRID);
mMap.animateCamera(CameraUpdateFactory.zoomTo(14));
return rootView;
}
fragment_create.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"
android:background="#efece3" >
<fragment
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
class="com.google.android.gms.maps.SupportMapFragment">
</fragment>
<!--<ImageButton-->
<!--android:id="@+id/create"-->
<!--android:layout_width="65dp"-->
<!--android:layout_height="65dp"-->
<!--android:scaleType="fitXY"-->
<!--android:src="@drawable/ic_new"-->
<!--android:background="#00000000"-->
<!--android:layout_gravity="center"/>-->
</RelativeLayout>
的AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.myspots"
android:versionCode="1"
android:versionName="1.0" >
<permission
android:name="info.androidhive.googlemapsv2.permission.MAPS_RECEIVE"
android:protectionLevel="signature" />
<uses-permission android:name="info.androidhive.googlemapsv2.permission.MAPS_RECEIVE" />
<uses-sdk
android:minSdkVersion="11"
android:targetSdkVersion="17" />
<!-- Required OpenGL ES 2.0. for Maps V2 -->
<uses-feature
android:glEsVersion="0x00020000"
android:required="true"/>
<application
android:allowBackup="true"
android:icon="@drawable/ic_launche_small"
android:label="@string/app_name"
android:theme="@style/AppBaseTheme" >
<activity
android:name="com.android.myspots.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="com.android.myspots.CreateSpot"
android:label="@string/createTitle" >
</activity>
<activity
android:name="com.android.myspots.SpotShow"
android:label="@string/showTitle" >
</activity>
<activity
android:name="com.android.myspots.CreateNotification"
android:label="@string/title_activity_create_notification" >
</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="AIzaSyC-8L-x21WRj1zjhmBXn9FKRdD0IvHO2yI" />
</application>
<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" />
<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" />
<!--
The ACCESS_COARSE/FINE_LOCATION 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" />
</manifest>
答案 0 :(得分:1)
如果仅为调试目的生成API密钥,请确保您的设备执行应用程序的调试版本。见here
答案 1 :(得分:0)
伙计我真的需要帮助,交付日期是明天,我无法工作,已经失去了调查代码,api控制台和在互联网上搜索答案的时间
答案 2 :(得分:0)
我个人曾经遇到过这个问题,好像我的keytool工作得那么好。我知道eclipse有一个显示你的SHA1的功能,它与keytool的不同(并且正在工作)。它位于Window&gt;偏好设置&gt; Android&gt; Build。不知道在Android Studio中哪里可以找到它,但它可能在某处。
希望这个答案不会太晚。