Android集成Google地图详细步骤记录
先贴下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地图详细步骤记录的更多相关文章
- Android集成百度地图详细步骤和错误问题
先看要实现的效果 第一步, 下载SDK,基础配置,百度开发文档很详细,直接附上链接http://lbsyun.baidu.com/index.php?title=androidsdk/guide/cr ...
- Android中Google地图路径导航,使用mapfragment地图上画出线路(google map api v2)详解
在这篇里我们只聊怎么在android中google map api v2地图上画出路径导航,用mapfragment而不是mapview,至于怎么去申请key,manifest.xml中加入的权限,系 ...
- iOS集成百度地图方法步骤
前言:app中的导航功能越来越流行,现在我自己做的项目中也有此需求,做过了后记录下笔记. 由于源代码保密所以这里仅仅提供demo,下面是效果图 一:iOS地图SDK 1.打开 百度地图api链接 i ...
- Android集成百度地图SDK
本Demo中所含功能 1:定位,显示当前位置 2:地图多覆盖物(地图描点.弹出该点的具体信息) 3:坐标地址互相换算 4:POI兴趣点检索 5:线路查询(步行,驾车,公交) 6:绘制线路(OpenGL ...
- Xamarin.Android 集成百度地图SDK
前言:趁着周六闲得没事干,赶紧搞一搞Xamarin,最近也是怪无聊的,枯燥的生活不如打几行代码带劲:好了我们进入正题 我这篇文章时参考一位大佬的博客进行改变的,当然他写的需要一定的经验才可以看得懂,我 ...
- 苹果MAC中安装并搭建Android开发环境的详细步骤
Android的开发平台搭建主要需要的工具有:Java虚拟机JDK.Eclipse.Eclipse插件ADT(Android Developer Tool)和Android开发包SDK,以下是具体的安 ...
- Android 环境快速搭建-详细步骤-win7-64bit
电脑装了win7 64位的系统,重新来搭建了安卓环境,发现有一种非常便捷,快速的方法就可以搭建起来了~ 步骤一:下载java sdk 进入http://www.oracle.com/us/sun/in ...
- android 集成百度地图
一.下载百度地图为我们提供的所有DEMO. 在这里边我选的是一键下载. 二.下载后有两个项目一个是用于eclipse.另一个是android studio.我选的是android studio. 我用 ...
- Android 集成高德地图
先上一张图片看看实现的效果啦!!! 首先登陆高德的开发者平台进行创建自己的应用程序,填写对应的包名,填写sHA1值(这个我这博客中写了获取的代码,可以直接复制粘贴),说了这么多其实都是废话,来我们看重 ...
随机推荐
- 10.23 正睿停课训练 Day7
目录 2018.10.23 正睿停课训练 Day7 A 矩形(组合) B 翻转(思路) C 求和(思路 三元环计数) 考试代码 B1 B2 C 2018.10.23 正睿停课训练 Day7 期望得分: ...
- SolidWorks知识积累系列-01
Solidworks学习 1. 基本知识点总结 基准视图 主视图:从前往后看,前视基准 俯视图:从上往下看,上视基准 侧视图:从右向左看,右视基准 草图要求 单封闭性,草图要依附于某个位置 绘制大概形 ...
- Tcp的三次握手,以及原理详解
http://blog.sina.com.cn/s/blog_6002b97001018fxh.html
- eclipse如何更改webroot
在项目上右击-->点击属性-->点击web project Setting
- OEMbutton乱码问题解决
一.出现故障: 在Linux环境中安装tid=12">Oracle 10g,启用EM时.出现button显示乱码现象,例如以下: 二.分析问题: 由于在安装Oracle10g时,JDK ...
- 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扩展,但是 ...
- LM && NTLM && ophcrack && RainBow table
Windows密码的加密方式:Windows 主要使用以下两种(包含但不限于)算法对用户名和密码进行加密:分 别是LanManager(LM)和NTLM,LM只能存储小于等于14个字符的密码hash, ...
- Next Permutation leetcode java
题目: Implement next permutation, which rearranges numbers into the lexicographically next greater per ...
- ECharts的geojson地图数据下载(根据城市区划代码的前六位查询)
链接如下: http://echarts.baidu.com/echarts2/doc/example/geoJson/china-main-city/522200.json 想要对应城市的geojs ...
- 【GPU编解码】GPU硬编码 (转)
一.OpenCV中的硬编码 OpenCV2.4.6中,已实现利用GPU进行写视频,编码过程由cv::gpu::VideoWriter_GPU完成,其示例程序如下. 1 int main(int arg ...