Google Map API密钥授权失败

时间:2017-02-25 11:34:48

标签: java android google-maps-api-3 authorization android-mapview

将Google地图添加到片段中 像这样使用MapView:

public HotspotPageFragment() {
    // Required empty public constructor
}

private void initGoogleMap(Bundle savedInstanceState) {
    mapView = (MapView) parentView.findViewById(R.id.mapView_hotspot);
    mapView.onCreate(savedInstanceState);
    mapView.onResume();
    mapView.getMapAsync(this);

    try {
        MapsInitializer.initialize(context);
    } catch (Exception e) {
        e.printStackTrace();
    }
}

这似乎适用于添加谷歌地图。

但现在我收到有关授权失败

的错误消息
E/Google Maps Android API: Authorization failure.  
Please see    https://developers.google.com/maps/documentation/android-api/start for how to correctly set up the map.
E/Google Maps Android API: In the Google Developer Console (https://console.developers.google.com)
Ensure that the "Google Maps Android API v2" is enabled.
Ensure that the following Android Key exists:
API Key: AIzaSyAMQNk********kCx8p-uz8******1t75s
Android Application (<cert_fingerprint>;<package_name>): 5A:A1:E4:**:07:BF:E2:**:A3:F0:B6:**:04:4E:0A:**:2A:B6:B4:6B;com.example.androidwork.foodsharing

我检查过API密钥是否正确... 我不知道如何解决它:(

这是我的清单看起来像:

<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <!-- Google map -->
<uses-permission android:name="android.permission.INTERNET" />

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:screenOrientation="portrait"
    android:supportsRtl="true"
    android:theme="@style/AppTheme.NoActionBar">
    <meta-data
        android:name="com.google.android.geo.API_KEY"
        android:value="@string/google_maps_key" />
...

这是结果

enter image description here

感谢。

这表明我已启用它了吗?

enter image description here

5 个答案:

答案 0 :(得分:0)

在google api控制台中查看api启用与否的位置。

答案 1 :(得分:0)

尝试以下

1-检查您是否已启用Maps API v2

2-检查您的SHA-1指纹

3-如果您还没有完成,请将api限制为您的包名

答案 2 :(得分:0)

CREAT SHA1 KEY AND PASTE API CONSOLE see this

答案 3 :(得分:0)

在手机上更新googleplayservices 并检查这些是否在gradle中:

依赖项{

compile 'com.google.android.gms:play-services-ads:9.4.0'
compile 'com.google.android.gms:play-services-auth:9.4.0'
compile 'com.google.android.gms:play-services-gcm:9.4.0'

}

答案 4 :(得分:0)

首先在菜单中的凭证项下进入谷歌控制台,并为android map api创建一个凭证密钥(如果不存在),它会告诉你它需要一些时间才能启用,并且在你的依赖项中你只需要要做的是添加谷歌播放服务,除谷歌客户端和身份验证之外,它将处理谷歌的所有事情,然后在你的应用程序中尝试此代码

public class MapsActivity extends FragmentActivity implements OnMapReadyCallback {

private GoogleMap mMap;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_maps);
    SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
            .findFragmentById(R.id.map);
    mapFragment.getMapAsync(this);
}



@Override
public void onMapReady(GoogleMap googleMap) {
    mMap = googleMap;

   LatLng latlang= new LatLng("latitude", "longitude");
    mMap.addMarker(new MarkerOptions().position(latlang).title("Marker in latlang"));
 mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(latlang, 18));
    mMap.setTrafficEnabled(true);

 }