首先,我先来介绍如何在Android studio上配置google map。

一、在已有的project中配置google map

       Android与map都是google旗下的产品,所以在Android中添加map也是一件相当方便的事情,在Android Studio中,点击菜单栏的File -> Structrue,弹出如下对话框:

android studio 获取gnss位置 源码 android studio调用谷歌地图_未定义

       这里选择app -> Dependencies

android studio 获取gnss位置 源码 android studio调用谷歌地图_Kotlin_02

      在搜索框中输入com.google.android.gms:play-services-maps,就可以获取最新的地图,在安装google map前,记得先引入google play sevice,也就是上图对话框中的第四条。

      需要注意的是,如果没有提前安装相关文件的话,最好打开vpn,方便Android Studio要下载相应的lib。

二、在Android Studio中直接创建google map项目

      Android studio提供了直接创建map项目的方法。File –> New Project,然后点击两次next,进入如下页面

android studio 获取gnss位置 源码 android studio调用谷歌地图_Android_03

       新建的map项目中包含两个部分

android studio 获取gnss位置 源码 android studio调用谷歌地图_Kotlin_04

       acitivity_maps包含了地图,而google_maps_api则用来存放我们的google map key。

       打开google map API

android studio 获取gnss位置 源码 android studio调用谷歌地图_Android_05

       这里就可以用来存放我们申请到的Key值。

       新建一个google map应用,我们的新应用可能会出现一些奇奇怪怪的问题,比如一些变量名未定义的问题。

android studio 获取gnss位置 源码 android studio调用谷歌地图_ci_06

      这里我们在build.gradle中进行修改

android studio 获取gnss位置 源码 android studio调用谷歌地图_ci_07

       双击build.gradle(Module: app),将compileSdkVersion修改为28,因为前面的这些属性是基于28以上的,在编译版本为28以下时,本地并没有这些属性。

android studio 获取gnss位置 源码 android studio调用谷歌地图_Kotlin_08

       每次修改build.gradle文件之后,我们都需要同步一下。

       在Sync Now之后,这里又出现了一个错误。(这里只是我遇到的问题)

android studio 获取gnss位置 源码 android studio调用谷歌地图_未定义_09

       这个问题可以忽略,每次打开项目的时候都会报错,rebuild一下就好。

       当然,这样的方法也只是饮鸩止渴,毕竟每次都要rebuild,如果项目很大的话,这无疑是浪费时间,要解决这个问题很简单,我们仍然打开build.gradle。

android studio 获取gnss位置 源码 android studio调用谷歌地图_未定义_10

        红色箭头标出的部分,我们修改数字部分为27.1.1

android studio 获取gnss位置 源码 android studio调用谷歌地图_Kotlin_11

        经过了两步操作,我们的问题变成了下面的样子

android studio 获取gnss位置 源码 android studio调用谷歌地图_Android_12

        这个时候,我们有一种简单的操作办法,同样是打开前述build.gradle

android studio 获取gnss位置 源码 android studio调用谷歌地图_Android_13

       我们将箭头所指位置的数字改成16.1.0

android studio 获取gnss位置 源码 android studio调用谷歌地图_ci_14

        这样我们的项目就可以顺利完成编译了。