先贴下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中添加依赖:

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

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

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

now,开始地图展示。

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

布局:

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

代码中:

  1. public class MainActivity extends AppCompatActivity implements OnMapReadyCallback {
  2.  
  3. @Override
  4. protected void onCreate(Bundle savedInstanceState) {
  5. super.onCreate(savedInstanceState);
  6. setContentView(R.layout.activity_main);
  7.  
  8. SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
  9. mapFragment.getMapAsync(this);
  10.  
  11. }
  12.  
  13. @Override
  14. public void onMapReady(GoogleMap googleMap) {
  15. double lat = 40.73;
  16. double lng = -73.99;
  17. LatLng appointLoc = new LatLng(lat, lng);
  18.  
  19. // 移动地图到指定经度的位置
  20. googleMap.moveCamera(CameraUpdateFactory.newLatLng(appointLoc));
  21.  
  22. //添加标记到指定经纬度
  23. googleMap.addMarker(new MarkerOptions().position(new LatLng(lat, lng)).title("Marker")
  24. .icon(BitmapDescriptorFactory.fromResource(R.mipmap.ic_launcher)));
  25.  
  26. }
  27. }

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

布局:

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

代码中:

  1. MapView mMap = (MapView) mView.findViewById(R.id.mapview);
  1. mMap.onCreate(savedInstanceState);
  2. mMap.onResume();
  3. try {
  4. MapsInitializer.initialize(this);
  5. } catch (Exception e) {
  6. e.printStackTrace();
  7. }

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

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. 10.23 正睿停课训练 Day7

    目录 2018.10.23 正睿停课训练 Day7 A 矩形(组合) B 翻转(思路) C 求和(思路 三元环计数) 考试代码 B1 B2 C 2018.10.23 正睿停课训练 Day7 期望得分: ...

  2. SolidWorks知识积累系列-01

    Solidworks学习 1. 基本知识点总结 基准视图 主视图:从前往后看,前视基准 俯视图:从上往下看,上视基准 侧视图:从右向左看,右视基准 草图要求 单封闭性,草图要依附于某个位置 绘制大概形 ...

  3. Tcp的三次握手,以及原理详解

    http://blog.sina.com.cn/s/blog_6002b97001018fxh.html

  4. eclipse如何更改webroot

    在项目上右击-->点击属性-->点击web project Setting

  5. OEMbutton乱码问题解决

    一.出现故障: 在Linux环境中安装tid=12">Oracle 10g,启用EM时.出现button显示乱码现象,例如以下: 二.分析问题: 由于在安装Oracle10g时,JDK ...

  6. I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2

    问题: 安装TensorFlow(CPU版本),使用pip install tensorflow安装,安装一切顺利,但是在跑一个简单的程序时,遇到如下情况: 大概意思是:你的CPU支持AVX扩展,但是 ...

  7. LM && NTLM && ophcrack && RainBow table

    Windows密码的加密方式:Windows 主要使用以下两种(包含但不限于)算法对用户名和密码进行加密:分 别是LanManager(LM)和NTLM,LM只能存储小于等于14个字符的密码hash, ...

  8. Next Permutation leetcode java

    题目: Implement next permutation, which rearranges numbers into the lexicographically next greater per ...

  9. ECharts的geojson地图数据下载(根据城市区划代码的前六位查询)

    链接如下: http://echarts.baidu.com/echarts2/doc/example/geoJson/china-main-city/522200.json 想要对应城市的geojs ...

  10. 【GPU编解码】GPU硬编码 (转)

    一.OpenCV中的硬编码 OpenCV2.4.6中,已实现利用GPU进行写视频,编码过程由cv::gpu::VideoWriter_GPU完成,其示例程序如下. 1 int main(int arg ...