谷歌地图中的空白活动
问题描述:
即时尝试创建一个基本的谷歌地图活动,但当我尝试运行它到我的智能手机,我得到一个空白的活动(图片链接附件)。什么即时做错了?也许我的API密钥有问题?谷歌地图中的空白活动
在此先感谢。
的AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.fa2015.mapstest">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<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="_MyKey_"/>
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"></uses-permission>
</manifest>
activity_main.xml中
<?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" />
MainActivity.java
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.OnMapReadyCallback;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.MarkerOptions;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity implements OnMapReadyCallback {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
mapFragment.getMapAsync(this);
}
@Override
public void onMapReady(GoogleMap map) {
map.addMarker(new MarkerOptions().position(new LatLng(0, 0)).title("Marker"));
} }
答
当您定义Google地图权限时出现问题时,或者在Google API控制台中允许的API的配置错误时,通常会发生此问题。
请确保您在控制台中启用Google地图版本2 for Android,而不是Web上的版本。也请检查您的许可,这里有一个相关的SO票并遇到了黑屏:Android Google Map API V2 Blank Screen
下面是谷歌地图的Android API v2的样本演示应用程序:https://github.com/googlemaps/android-samples
答
我想你错过了API密钥。 我假设你使用android studio(地图活动)。创建项目后,您必须为您的项目创建一个API密钥,并且需要在项目中进行链接。 要创建API密钥,您必须访问google_maps_api.xml中提供的链接(来自您的项目)。
一旦您创建了API密钥,那么您必须将该API密钥插入google_maps_api.xml文件(可能是要求输入密钥的最后一行)。
谢谢!这真的很有用 – ferrvn