gpt4 book ai didi

java - Android 谷歌地图不显示实际 map

转载 作者:行者123 更新时间:2023-12-01 10:51:22 24 4
gpt4 key购买 nike

一些背景:

自从几周前我开始使用适用于 Android 的 google map api 做一些事情以来,一周前我不得不重置我的电脑,之后我从我的私有(private)存储库克隆了我的 Android 项目。现在,该项目的谷歌地图部分将无法工作,当我启动 map Activity 时,它会按预期显示布局,但 map 不会渲染,我只能在左下角看到谷歌 Logo 。

我已经检查了以下内容:

  • 我有一个格式为 AIzaSyA***************** 的开发者控制台 API key
  • API KEY 凭据适用于 co.com.something.activities 包以及自动生成的 google_maps_api.xml 给出的 SHA1 证书

    您还可以使用以下行将您的凭据添加到现有 key :D6:76:DA:B5:##:##:##:##:##:##:##:##:##:##:##:##:##;co.com .something.activities

  • 我的 list 中有

        <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" />

    <uses-feature android:glEsVersion="0x00020000" android:required="true" />
    <meta-data android:name="com.google.android.geo.API_KEY" android:value="@string/google_maps_key" />
    <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />

  • google_maps_api.xml 上的 API KEY 与控制台 API KEY 相同

  • onMapReady(GoogleMap googleMap) 方法在我的 Activity 中被调用,我正在设置一些 LatLng 点并移动相机(仍然不会显示 map )

  • 我已在 Android Studio 中尝试了以下操作:构建 APK、生成签名的 APK,然后将这些 APK 上传到我的手机(均无效)。

  • 我在应用程序的项目文件夹下有要发布的 keystore ,我已将其删除并创建它,并使用新的 SHA1 重新创建了 API KEY

  • 我没有接触过 debug.keystore,因为我不知道它位于哪里。

  • 我正在将 map 加载到 Activity 的 fragment 中(效果很好)

<fragment xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:map="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent"
android:layout_height="fill_parent" android:id="@+id/map"
tools:context="co.com.wayfit.activities.RouteActivity"
android:name="com.google.android.gms.maps.SupportMapFragment" />

这是我的 gradle 文件

android {
compileSdkVersion 23
buildToolsVersion "23.0.1"
signingConfigs {
release {
storeFile file('C:/ProjectDir/app/wayfit.keystore')
storePassword "wayfit"
keyAlias "wayfit"
keyPassword "wayfit"
}
}
defaultConfig {
applicationId "co.com.wayfit"
minSdkVersion 15
targetSdkVersion 23
versionCode 1
versionName "1.0"
signingConfig signingConfigs.release
}

buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.release
}
}
productFlavors {
}
}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.android.support:design:23.1.1'
compile 'com.google.android.gms:play-services:8.3.0'
compile 'com.google.android.gms:play-services-ads:8.3.0'
compile 'com.google.android.gms:play-services-identity:8.3.0'
compile 'com.google.android.gms:play-services-gcm:8.3.0'
}

编辑:

我认为我的问题是由于 API KEY 造成的。我尝试删除该 Activity 并创建一个新的 map Activity ,android studio 为我生成了一个名为 google_maps_api.xml 的文件,它说您还可以使用以下行将您的凭据添加到现有 key : D6:76:DA:B5:##:##:##:##:##:##:##:##:##:##:##:##:##;co.com .某物. Activity

所以我想将其用于我的 api 凭据,但是当我运行命令提示符“keytool -v -list -keystore mykeystore.keystore”(与我用来签署 apk 的命令提示符相同)时,我收到了另一个不同的 SHA1

D8:B2:29:2C:C5:##:##:##:##:##:##:##:##

我在开发者控制台上的相同包下的相同 API key 中使用了这两者。

另一件让我烦恼的事情是 google_maps_api.xml 在名称的右侧显示(调试),这会影响什么吗?

最佳答案

  • 检查您设备的日期和时间设置是否与您当前的时区相对应(遗憾的是,日志输出不会返回太多建设性信息来引导您思考日期和时间)
  • 检查您是否在 API 控制台中启用了正确的服务(启用 Google Maps API Android V2,而不是 Google Maps API V2,如果您在此步骤中出现问题,日志将返回“身份验证失败”)
  • 检查您是否使用了正确的 keystore 来获取 API key (日志会提示您身份验证失败
  • 检查您是否包含了正确的库文件

更多信息可以在有关空白谷歌地图的大量其他问题中找到: https://stackoverflow.com/a/15636254/1099716

关于java - Android 谷歌地图不显示实际 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33867038/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com