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值(这个我这博客中写了获取的代码,可以直接复制粘贴),说了这么多其实都是废话,来我们看重 ...
随机推荐
- Python面向对象——多态
多态的作用 调用不同的子类将会产生不同的行为. 多态是在继承上实现的. 图解多态1 图解多态2 图解多态1代码 class AudioFile: def __init__(self, filename ...
- python3基础之文件对象操作
1.向文本文件中写入内容 s = 'Hello world\n文本文件的读取方法\n文本文件的写入方法\n' # 需要写入文件的字符串 print('显示需要写入的内容:\n{0:s}'.format ...
- 潭州课堂25班:Ph201805201 爬虫基础 第十五课 js破解 二 (课堂笔记)
PyExecJs使用 PyExecJS是Ruby的ExecJS移植到Python的一个执行JS代码的库. 安装 pip install PyExecJS 例子 >>> import ...
- Codeforces Round #406 (Div. 1) A. Berzerk 记忆化搜索
A. Berzerk 题目连接: http://codeforces.com/contest/786/problem/A Description Rick and Morty are playing ...
- PHP 实现 word/excel/ppt 转换为 PDF
前段时间负责公司内部文件平台的设计,其中有一个需求是要能够在线浏览用户上传的 office 文件. 我的思路是先将 office 转换成 PDF,再通过 pdf.js 插件解析 PDF 文件,使其能在 ...
- 服务 AIDL 定向tag IPC Parcelable 案例 MD
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...
- Tomcat热部署SpringMVC项目出错
一.问题 项目照常跑,没有什么大的影响,但是在控制台却出现了错误,具体信息如下图所示 二.解决方法 原因分析:很多人已经说的很明白了,这大概是因为项目文件很多,在tomcat重启的时候,之前的tomc ...
- 【转】JavaScript 的装载和执行
承接前面一篇文章<浏览器的渲染原理简介> ,本文来说下JavaScript的装载和执行. 通常来说,浏览器对于 JavaScript 的运行有两大特性: 1) 载入后马上执行 2) 执行时 ...
- .NET Core修改监听端口
把Program.cs加一行UseUrls代码如下: using System.IO; using Microsoft.AspNetCore.Hosting; using Microsoft.AspN ...
- 使用Guava的ComparisonChain实现自定义的排序
可以看到使用比较器前,先要写一个实体类,还要实现comparable接口,实现compareTo方法.这个方法一般会返回-1 0 1三个int类型数字,分别表示,对象和传入的对象比较,排序应该在传入的 ...