android– 谷歌地图显示空白屏幕

android– 谷歌地图显示空白屏幕,第1张

概述我试图在一个非常简单的应用程序(一个只有谷歌地图活动的新项目)中显示谷歌地图,清单具有以下权限:<manifestxmlns:android="http://schemas.android.com/apkes/android"package="com.example.ivan.pruebamaps"><uses-permissionandroid:name="android.permission.ACCE

我试图在一个非常简单的应用程序(一个只有谷歌地图活动的新项目)中显示谷歌地图,清单具有以下权限:

<manifest xmlns:androID="http://schemas.androID.com/apk/res/androID"    package="com.example.ivan.pruebamaps"><uses-permission androID:name="androID.permission.ACCESS_FINE_LOCATION" /><uses-permission androID:name="androID.permission.INTERNET" /><applicationandroID:allowBackup="true"androID:icon="@mipmap/ic_launcher"androID:label="@string/app_name"androID:roundIcon="@mipmap/ic_launcher_round"androID:supportsRtl="true"androID:theme="@style/Apptheme"><Meta-data    androID:name="com.Google.androID.geo.API_KEY"    androID:value="@string/Google_maps_key" /><activity    androID:name=".MapsActivity"    androID:label="@string/Title_activity_maps">    <intent-filter>        <action androID:name="androID.intent.action.MAIN" />        <category androID:name="androID.intent.category.LAUNCHER" />    </intent-filter></activity></application>    </manifest>

我在@ string / Google_maps_key中有一个有效的密钥.

它没有触及mainActivity,就像它在androID studio中创建的一样.

public class MapsActivity extends FragmentActivity implements OnMapReadyCallback {private GoogleMap mMap;@OverrIDeprotected voID onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentVIEw(R.layout.activity_maps);    // Obtain the SupportMapFragment and get notifIEd when the map is ready to be used.    SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()            .findFragmentByID(R.ID.map);    mapFragment.getMapAsync(this);}@OverrIDepublic voID onMapReady(GoogleMap GoogleMap) {    mMap = GoogleMap;    // Add a marker in Sydney and move the camera    LatLng sydney = new LatLng(-34, 151);    mMap.addMarker(new MarkerOptions().position(sydney).Title("Marker in Sydney"));    mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney));}}

布局文件activity_maps也是如此:

<fragment xmlns:androID="http://schemas.androID.com/apk/res/androID"    xmlns:map="http://schemas.androID.com/apk/res-auto"    xmlns:tools="http://schemas.androID.com/tools"    androID:ID="@+ID/map"    androID:name="com.Google.androID.gms.maps.SupportMapFragment"    androID:layout_wIDth="match_parent"    androID:layout_height="match_parent"    tools:context="com.example.ivan.pruebamaps.MapsActivity" />

这是我的gradle文件,如果有帮助:

apply plugin: 'com.androID.application'androID {    compileSdkVersion 25    buildToolsversion "25.0.2"    defaultConfig {        applicationID "com.example.ivan.pruebamaps"        minSdkVersion 15        targetSdkVersion 25        versionCode 1        versionname "1.0"        testInstrumentationRunner "androID.support.test.runner.AndroIDJUnitRunner"    }    buildTypes {        release {            MinifyEnabled false            proguardfiles getDefaultProguardfile('proguard-androID.txt'), 'proguard-rules.pro'        }    }}dependencIEs {    compile filetree(dir: 'libs', include: ['*.jar'])    androIDTestCompile('com.androID.support.test.espresso:espresso-core:2.2.2', {        exclude group: 'com.androID.support', module: 'support-annotations'    })    compile 'com.androID.support:appcompat-v7:25.2.0'    compile 'com.Google.androID.gms:play-services-maps:10.2.0'    testCompile 'junit:junit:4.12'}

当我执行应用程序时,我只得到一个带有空白屏幕屏幕,左下角有Google徽标.我正在尝试模拟nexus 5,而在三星galaxy s6中,它们都无法工作.

解决方法:

听起来您正在使用的API密钥是在另一台机器上生成的,该机器具有不同的调试密钥库.

您需要为开发人员控制台中用于API密钥的每台开发机器的调试密钥库添加SHA1指纹.

除此之外,一旦您准备好进行签名发布构建,请确保在API密钥中使用SHA1指纹作为发布密钥库,该密钥将进入Google_maps_API.xml文件的发行版本. See here获取更多信息.

总结

以上是内存溢出为你收集整理的android – 谷歌地图显示空白屏幕全部内容,希望文章能够帮你解决android – 谷歌地图显示空白屏幕所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1113726.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存