先贴下Google官方的地图demo地址:https://github.com/googlemaps/android-samples

那么接下来第一步,申请Google的API key。

使用谷歌账号登录谷歌地图开发者平台(登录网站:https://cloud.google.com/maps-platform/?hl=zh-CN),点击控制台,如图

点击控制进入控制台进行如下操作,生成谷歌地图的appkey:

如果你没有项目时,需要先点击“创建”,新建你的项目后才能使用创建凭据。

点击API秘钥,生成秘钥,在生成的秘钥界面上我们点击秘钥限制,设置成android ,然后根据他提示的指令在cmd中获取SHA-1值填入,然后点击保存即可。(可不要真的输入"mystore.keystore"喔,根据你自己的需求输入"debug.keystore",或"release.keystore")

注意:Google说可能最长可能要5分钟才生效哒。

还有一点是要保证你的API已开启,未启动用时,请开启,如图示:

然后接下来在项目的modle的build.gradle中添加依赖:

    implementation 'com.google.android.gms:play-services-maps:12.0.1'
// 地图操作工具类,添加标记等
implementation 'com.google.maps.android:android-maps-utils:0.5+'

在清单文件写上你的API KEY:

<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="google给你的 API KEY" />

now,开始地图展示。

分为两种加载方式,一种是在activity中动态或者是静态加载我们的谷歌地图的fragment,进行显示:

布局:

<fragment xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/map"
class="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" />

代码中:

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 googleMap) {
double lat = 40.73;
double lng = -73.99;
LatLng appointLoc = new LatLng(lat, lng); // 移动地图到指定经度的位置
googleMap.moveCamera(CameraUpdateFactory.newLatLng(appointLoc)); //添加标记到指定经纬度
googleMap.addMarker(new MarkerOptions().position(new LatLng(lat, lng)).title("Marker")
.icon(BitmapDescriptorFactory.fromResource(R.mipmap.ic_launcher))); }
}

另一种即直接使用mapView显示谷歌地图。

布局:

<com.google.android.gms.maps.MapView
android:id="@+id/mapview"
android:layout_width="match_parent"
android:layout_height="match_parent" />

代码中:

 MapView mMap = (MapView) mView.findViewById(R.id.mapview); 
 mMap.onCreate(savedInstanceState);
mMap.onResume();
try {
MapsInitializer.initialize(this);
} catch (Exception e) {
e.printStackTrace();
}

int errorCode = GooglePlayServicesUtil.isGooglePlayServicesAvailable(this);
if (ConnectionResult.SUCCESS != errorCode) {
GooglePlayServicesUtil.getErrorDialog(errorCode, this, ).show();
} else {
mMap.getMapAsync(this);
}
    @Override
public void onMapReady(GoogleMap googleMap) {
double lat = 40.73;
double lng = -73.99;
LatLng appointLoc = new LatLng(lat, lng); // 移动地图到指定经度的位置
googleMap.moveCamera(CameraUpdateFactory.newLatLng(appointLoc)); //添加标记到指定经纬度
googleMap.addMarker(new MarkerOptions().position(new LatLng(lat, lng)).title("Marker")
.icon(BitmapDescriptorFactory.fromResource(R.mipmap.ic_launcher))); }
 

OK,运行项目,这里就应该显示一张定位在纽约的地图了。

如果只显示了一行提示说设备不支持话,那么说明你需要在手机安装Google play服务,手机上的应用市场一般是不能直接安装的,可以先安装一个谷歌下载器,然后通过这个apk安装;

如果显示一片空白(应该只显示了Google地图的logo),那么检查你的网络是否翻墙成功,确认API开启,确认API key无误。

Android集成Google地图详细步骤记录的更多相关文章

  1. Android集成百度地图详细步骤和错误问题

    先看要实现的效果 第一步, 下载SDK,基础配置,百度开发文档很详细,直接附上链接http://lbsyun.baidu.com/index.php?title=androidsdk/guide/cr ...

  2. Android中Google地图路径导航,使用mapfragment地图上画出线路(google map api v2)详解

    在这篇里我们只聊怎么在android中google map api v2地图上画出路径导航,用mapfragment而不是mapview,至于怎么去申请key,manifest.xml中加入的权限,系 ...

  3. iOS集成百度地图方法步骤

    前言:app中的导航功能越来越流行,现在我自己做的项目中也有此需求,做过了后记录下笔记.  由于源代码保密所以这里仅仅提供demo,下面是效果图 一:iOS地图SDK 1.打开 百度地图api链接 i ...

  4. Android集成百度地图SDK

    本Demo中所含功能 1:定位,显示当前位置 2:地图多覆盖物(地图描点.弹出该点的具体信息) 3:坐标地址互相换算 4:POI兴趣点检索 5:线路查询(步行,驾车,公交) 6:绘制线路(OpenGL ...

  5. Xamarin.Android 集成百度地图SDK

    前言:趁着周六闲得没事干,赶紧搞一搞Xamarin,最近也是怪无聊的,枯燥的生活不如打几行代码带劲:好了我们进入正题 我这篇文章时参考一位大佬的博客进行改变的,当然他写的需要一定的经验才可以看得懂,我 ...

  6. 苹果MAC中安装并搭建Android开发环境的详细步骤

    Android的开发平台搭建主要需要的工具有:Java虚拟机JDK.Eclipse.Eclipse插件ADT(Android Developer Tool)和Android开发包SDK,以下是具体的安 ...

  7. Android 环境快速搭建-详细步骤-win7-64bit

    电脑装了win7 64位的系统,重新来搭建了安卓环境,发现有一种非常便捷,快速的方法就可以搭建起来了~ 步骤一:下载java sdk 进入http://www.oracle.com/us/sun/in ...

  8. android 集成百度地图

    一.下载百度地图为我们提供的所有DEMO. 在这里边我选的是一键下载. 二.下载后有两个项目一个是用于eclipse.另一个是android studio.我选的是android studio. 我用 ...

  9. Android 集成高德地图

    先上一张图片看看实现的效果啦!!! 首先登陆高德的开发者平台进行创建自己的应用程序,填写对应的包名,填写sHA1值(这个我这博客中写了获取的代码,可以直接复制粘贴),说了这么多其实都是废话,来我们看重 ...

随机推荐

  1. 3682: Phorni 后缀平衡树 线段树

    国际惯例的题面: 考虑如果没有强制在线我们能怎么水掉这个题,先构造出字符串,各种方法求一下后缀数组,然后线段树维护区间rank最小的位置即可.然而他要求强制在线,支持插入后缀,并比较后缀大小(求ran ...

  2. HDU.3516.Tree Construction(DP 四边形不等式)

    题目链接 贴个教程: 四边形不等式学习笔记 \(Description\) 给出平面上的\(n\)个点,满足\(X_i\)严格单增,\(Y_i\)严格单减.以\(x\)轴和\(y\)轴正方向作边,使这 ...

  3. 潭州课堂25班:Ph201805201 爬虫基础 第一课 (课堂笔记)

    爬虫的概念: 其实呢,爬虫更官方点的名字叫数据采集,英文一般称作spider,就是通过编程来全自动的从互联网上采集数据.比如说搜索引擎就是一种爬虫.爬虫需要做的就是模拟正常的网络请求,比如你在网站上点 ...

  4. redis清除缓存和连接远程服务器

    直接进入命令行输入 1.连接远程redis:   redis-cli -h 127.0.0.1 -p 3008 -a pIctur3   (a后是密码) 2.查看缓存:keys * 3.清除缓存:de ...

  5. bootsrap中的输入框demo1

    <!doctype html><html > <head> <meta charset="utf-8"> <link rel= ...

  6. 在Editplus直接运行程序的步骤

    https://www.cnblogs.com/myitroad/p/4841875.html

  7. cocosCreator 新版本的动作函数API的应用

    利用触摸位置判断,点击的是屏幕的左侧还是右侧,控制主角左右移动: 见代码: InputControl:function () { var self=this; //cc.systemEvent sel ...

  8. oracle多个结果集拼接字符串;where id in 字符串 (转)

    转自:http://blog.sina.com.cn/s/blog_af26e333010194ht.html 最近修改oracle触发器,在过程中遇到两个问题: select lastname fr ...

  9. Unity3d之截图方法

    http://blog.csdn.net/highning0007/article/details/37991787 Unity3d之截图方法 分类: Unity3D2013-11-28 17:13  ...

  10. java并发之如何解决线程安全问题

    并发(concurrency)一个并不陌生的词,简单来说,就是cpu在同一时刻执行多个任务. 而Java并发则由多线程实现的. 在jvm的世界里,线程就像不相干的平行空间,串行在虚拟机中.(当然这是比 ...