通过百度地图api实现简单经纬度输入定位(安卓端)
老师居然检查作业了!因为之前做过一点,熬夜做了一下,太久没搞安卓了,感觉之前学的全忘了:(。
功能演示
老师的要求是实现输入经纬度,在地图中显示该坐标位置信息
通过网上经纬度查询系统查得桥楼餐厅经纬度为(30.481074,114.393158)
通过在app中输入经纬度,显示位置
实现方法
百度地图api服务
要使用百度地图服务,首先当然要在百度地图开发平台申请账号,然后按步骤在控制台创建应用,获取应用key
注意两个版本SHA1值的获取方法和区别,包名也要与你AS里工程包名一致
按照百度地图开发指南实现AS配置
主要为导入jar包和.so文件,并在AndroidManifest文件中添加key和所需权限。
<meta-dataandroid:name="com.baidu.lbsapi.API_KEY"android:value="nCo1q2jVq0p54bV02CXZTy04aCbri8NR" />
实现百度地图的基础显示
创首先需要创建一个AS工程,并新建一个基础活动(activity),在活动的布局文件中添加百度地图控件,用于显示地图
<com.baidu.mapapi.map.MapViewandroid:id="@+id/mmap"android:layout_width="match_parent"android:layout_height="match_parent" ></com.baidu.mapapi.map.MapView>
然后在java文件中引用该地图控件,并通过mapview.getmap()方法实现地图的显示
别忘了通过.initialize方法实现初始化
private MapView mMapView = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); SDKInitializer.initialize(getApplicationContext());SDKInitializer.setCoordType(CoordType.BD09LL); setContentView(R.layout.activity_main); //获取地图控件引用 mMapView = (MapView) findViewById(R.id.bmapView); mBaiduMap = mMapView.getMap(); }
通过marker实现简单的点标记
在百度地图开发指南中详细介绍了如何通过marker实现点标记,使用实例如下
//定义Maker坐标点
LatLng point = new LatLng(39.963175, 116.400244);
//构建Marker图标
BitmapDescriptor bitmap = BitmapDescriptorFactory .fromResource(R.drawable.icon_marka);
//构建MarkerOption,用于在地图上添加Marker
OverlayOptions option = new MarkerOptions() .position(point) .icon(bitmap);
//在地图上添加Marker,并显示
为了显示更加清晰,通过以下方法修改地图缩放级别和中心点
MapStatus mMapStatus = new MapStatus.Builder().target(point).zoom(20).build();
MapStatusUpdate mapStatusUpdate = MapStatusUpdateFactory.newMapStatus(mMapStatus);
mBaiduMap.setMapStatus(mapStatusUpdate);
因为老师要求坐标通过自己输入,所以带来两个问题,一是如何将输入坐标edittext类型数据转换成double型,二是如何将输入活动中的坐标数据传到显示活动(另一个activity)中,以实现演示的那种效果
数据类型转换
final double a = Double.parseDouble(lat.getText().toString());
final double b = Double.parseDouble(lng.getText().toString());
数据传递
intent.putExtra("a",a);
intent.putExtra("b",b);
startActivity(intent);
数据接收
Bundle bundle = this.getIntent().getExtras();a = bundle.getDouble("a",a);b = bundle.getDouble("b",b);
需要注意的问题
对不同cpu架构兼容问题
由于不同虚拟机或真机的CPU架构会有区别,在调试时可能会出现CPU架构不兼容的问题,在app包下的build.gradle文件中添加以下设置可解决
splits {abi {enable truereset()include 'x86', 'armeabi-v7a', 'x86_64'universalApk true}}
新建Application类实现context统一初始化
==在SDK各功能组件使用之前都需要调用
SDKInitializer.initialize(getApplicationContext());,建议该方法放在Application的初始化方法中 ==
public class DemoApplication extends Application {@Overridepublic void onCreate() {super.onCreate(); SDKInitializer.initialize(this);SDKInitializer.setCoordType(CoordType.BD09LL);}
}
通过百度地图api实现简单经纬度输入定位(安卓端)相关推荐
- 百度地图AK申请注意+百度地图API生成热力图+调用百度地图API自动获取经纬度和地址
文章目录 一.百度地图AK密钥申请 二.调用百度地图API生成热力图 三.调用百度地图API自动获取经纬度和地址 一.百度地图AK密钥申请 点击百度地图API控制台,输入登录账户,即可进入,若账户未完 ...
- 百度地图API 显示区域边界及地名定位
百度地图API 显示区域边界及地名定位 这个定位一共用了两个方法组成 一个是定位绘制区域边界线,另一个是地名定位 原理: 当用户输入省.市.县.区这种大地名时,我们要定位用户输入的这个位置,并显示轮廓 ...
- python 调用百度地图api 实现批量经纬度转换为实际省市地点(api调用,json解析,mysql读取与写入)
1.获取秘钥 调用百度地图API实现得申请百度账号或者登陆百度账号,然后申请自己的ak秘钥.链接如下:添加链接描述 下面是百度创建的app设置: 2.调用API将经纬度信息解析成json信息 def ...
- 【python】python利用百度地图API:获取经纬度、地图撒点
本文目的: python通过百度地图API,获取所给地址的经纬度,并且在百度地图上进行撒点. 另:百度地图API功能强大,如: GPS功能(单个点沿线运动). 信息窗口示例(添加纯文字的信息窗口). ...
- vue 使用百度地图api_使用百度地图api来实现ip高精度定位
曾有人问:我们的IP地址库是否能够提供这样的结果?可以确定用户在某个网吧.写字楼甚至某个小区?那上面这样的IP数据库是如何产生的呢? 俗称"人海战术".您可别不相信,直到今天,依然 ...
- python实现通过百度地图API获得地铁站经纬度(详细教程)
第一步:注册成为开发者,获得AK号 1: 前往百度地图官网注册,注册地址,请点击:百度地址开发者注册 网站如下:http://lbsyun.baidu.com/apiconsole/key/creat ...
- Android Studio+百度地图API实现简单gis移动端App
实习说明: 由于很多内容网上都是详细说明,但是我在帮助同学们解决问题过程遇到许多奇怪的问题,花了很多时间去解决,网上查不到,所以值得我记录下来,让后面的学弟学妹节省大部分时间!!同时我也会将该文章发布 ...
- 百度地图API 一些简单方法
<!--div width="300px">请输入:<input type="text" id="suggestId" s ...
- python城市经纬度网格_Python3爬虫 利用百度地图api得到城市经纬度
有2种方式,第一种是利用urllib , 方法1:利用urllib , 先把url 转成urlcode,然后读取网页,读到网页再用json读取内容,比较麻烦. 可以在浏览器输入,看一下格式. http ...
最新文章
- Windows 技巧篇-电脑蓝光过滤,颜色校准调节蓝光,电脑源头过滤蓝光,保护眼睛,护眼软件原理
- Log图文详解(Log.v,Log.d,Log.i,Log.w,Log.e)(转)
- c语言编程三问三答,c语言程序编程
- 数据结构之图:无向图的介绍与功能实现,Python——22
- matplotlib库
- 管理站点复制 【Windows Server 2019】活动目录(Acitve Directory)——在同一区域安装多台域控制器
- Hadoop无法上传文件查找原因
- 如何阅读python源码_如何阅读源代码(转)
- 无盘工作站与VMware View虚拟桌面对比
- mac vs 返回上一步_Mac 上 VSCode常用快捷键
- firefox渗透安全插件汇总
- 《预告 》 明天(9月19日),中国科学院自动化研究所首届智能决策论坛即将开幕!(附带10+位作者演讲主题及摘要)...
- 达沃时代的VNAS为NAS使用提供一种新可能
- L2-001 城市间紧急救援
- python——函数
- 解决Word2016复制、粘贴快捷键无法使用问题
- 大学计算机基础课后题答案中国铁道出版社,大学计算机基础 铁道出版社 2015年第1版 第7章 习题答案...
- NodeMCU 通过MQTT 连接阿里云物联网
- Win10 .chm文件无法打开解决方案
- 经典力学、相对论、量子力学