老师居然检查作业了!因为之前做过一点,熬夜做了一下,太久没搞安卓了,感觉之前学的全忘了:(。

功能演示

老师的要求是实现输入经纬度,在地图中显示该坐标位置信息
通过网上经纬度查询系统查得桥楼餐厅经纬度为(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实现简单经纬度输入定位(安卓端)相关推荐

  1. 百度地图AK申请注意+百度地图API生成热力图+调用百度地图API自动获取经纬度和地址

    文章目录 一.百度地图AK密钥申请 二.调用百度地图API生成热力图 三.调用百度地图API自动获取经纬度和地址 一.百度地图AK密钥申请 点击百度地图API控制台,输入登录账户,即可进入,若账户未完 ...

  2. 百度地图API 显示区域边界及地名定位

    百度地图API 显示区域边界及地名定位 这个定位一共用了两个方法组成 一个是定位绘制区域边界线,另一个是地名定位 原理: 当用户输入省.市.县.区这种大地名时,我们要定位用户输入的这个位置,并显示轮廓 ...

  3. python 调用百度地图api 实现批量经纬度转换为实际省市地点(api调用,json解析,mysql读取与写入)

    1.获取秘钥 调用百度地图API实现得申请百度账号或者登陆百度账号,然后申请自己的ak秘钥.链接如下:添加链接描述 下面是百度创建的app设置: 2.调用API将经纬度信息解析成json信息 def ...

  4. 【python】python利用百度地图API:获取经纬度、地图撒点

    本文目的: python通过百度地图API,获取所给地址的经纬度,并且在百度地图上进行撒点. 另:百度地图API功能强大,如: GPS功能(单个点沿线运动). 信息窗口示例(添加纯文字的信息窗口). ...

  5. vue 使用百度地图api_使用百度地图api来实现ip高精度定位

    曾有人问:我们的IP地址库是否能够提供这样的结果?可以确定用户在某个网吧.写字楼甚至某个小区?那上面这样的IP数据库是如何产生的呢? 俗称"人海战术".您可别不相信,直到今天,依然 ...

  6. python实现通过百度地图API获得地铁站经纬度(详细教程)

    第一步:注册成为开发者,获得AK号 1: 前往百度地图官网注册,注册地址,请点击:百度地址开发者注册 网站如下:http://lbsyun.baidu.com/apiconsole/key/creat ...

  7. Android Studio+百度地图API实现简单gis移动端App

    实习说明: 由于很多内容网上都是详细说明,但是我在帮助同学们解决问题过程遇到许多奇怪的问题,花了很多时间去解决,网上查不到,所以值得我记录下来,让后面的学弟学妹节省大部分时间!!同时我也会将该文章发布 ...

  8. 百度地图API 一些简单方法

    <!--div width="300px">请输入:<input type="text" id="suggestId" s ...

  9. python城市经纬度网格_Python3爬虫 利用百度地图api得到城市经纬度

    有2种方式,第一种是利用urllib , 方法1:利用urllib , 先把url 转成urlcode,然后读取网页,读到网页再用json读取内容,比较麻烦. 可以在浏览器输入,看一下格式. http ...

最新文章

  1. Windows 技巧篇-电脑蓝光过滤,颜色校准调节蓝光,电脑源头过滤蓝光,保护眼睛,护眼软件原理
  2. Log图文详解(Log.v,Log.d,Log.i,Log.w,Log.e)(转)
  3. c语言编程三问三答,c语言程序编程
  4. 数据结构之图:无向图的介绍与功能实现,Python——22
  5. matplotlib库
  6. 管理站点复制 【Windows Server 2019】活动目录(Acitve Directory)——在同一区域安装多台域控制器
  7. Hadoop无法上传文件查找原因
  8. 如何阅读python源码_如何阅读源代码(转)
  9. 无盘工作站与VMware View虚拟桌面对比
  10. mac vs 返回上一步_Mac 上 VSCode常用快捷键
  11. firefox渗透安全插件汇总
  12. 《预告 》 明天(9月19日),中国科学院自动化研究所首届智能决策论坛即将开幕!(附带10+位作者演讲主题及摘要)...
  13. 达沃时代的VNAS为NAS使用提供一种新可能
  14. L2-001 城市间紧急救援
  15. python——函数
  16. 解决Word2016复制、粘贴快捷键无法使用问题
  17. 大学计算机基础课后题答案中国铁道出版社,大学计算机基础 铁道出版社 2015年第1版 第7章 习题答案...
  18. NodeMCU 通过MQTT 连接阿里云物联网
  19. Win10 .chm文件无法打开解决方案
  20. 经典力学、相对论、量子力学

热门文章

  1. 再见2022,你好2023
  2. 【100个 Unity踩坑小知识点】| Unity调用API ,动态获取Android权限,附带所有Android权限表格
  3. swagger ui 怎么输入对象_java swagger ui 添加header请求头参数的方法
  4. Apache优化相关
  5. 华硕服务器如何重装系统,讲解华硕重装系统教程
  6. programming paradigm
  7. 吴军《格局》读书笔记
  8. 【Python】Windows微信清理工具
  9. 东原仁知服务招股书失效:主营业务严重依赖迪马集团,曾多次更名
  10. 学设计的考PMP证书有用吗?