这段代码可能有什么问题? 我没有看到什么可能是intrefering和API密钥是正确的,但它继续显示灰色区域。
有人能说一下这个吗?
主要活动
package com.example;
*ALL THE IMPORTS
public class MainActivity extends Activity {
private GoogleMap googleMap;
private int mapType = GoogleMap.MAP_TYPE_NORMAL;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
FragmentManager fragmentManager = getFragmentManager();
MapFragment mapFragment = (MapFragment) fragmentManager.findFragmentById(R.id.map);
googleMap = mapFragment.getMap();
googleMap.setMapType(mapType);
}
}
activity_main.xml中
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<fragment
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
class="com.google.android.gms.maps.MapFragment"/>
</RelativeLayout>
清单
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk
android:minSdkVersion="11"
android:targetSdkVersion="17"/>
<permission
android:name="com.example.permission.MAPS_RECEIVE"
android:protectionLevel="signature"/>
<!--Required permissions-->
<uses-permission android:name="com.example.permission.MAPS_RECEIVE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<!--Used by the API to download map tiles from Google Maps servers: -->
<uses-permission android:name="android.permission.INTERNET"/>
<!--Allows the API to access Google web-based services: -->
<uses-permission
android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
<!--Allows the API to cache map tile data in the device's external storage area: -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<!--Optional permissions-->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<!--Version 2 of the Google Maps Android API requires OpenGL ES version 2 -->
<uses-feature
android:glEsVersion="0x00020000"
android:required="true"/>
<application
android:label="@string/app_name"
android:icon="@drawable/ic_launcher">
<activity
android:name="com.example.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>
<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 api"/>
</application>
</manifest>
说真的,这个地图让我很生气。
答案 0 :(得分:0)
检查这些事情
更正API密钥和
Google地图应该在您的开发者控制台中启用
答案 1 :(得分:-1)
好的,我找到了一个解决方案,在我看来非常愚蠢,但它确实有效。
我必须在layout.xml中声明api键
之后,一切都像魅力