通过经纬度查看地图位置的app
总目录:
- 开发步骤
- 开发代码
应需求,使用高德地图的sdk开发了一个简易的地图APP,功能很简单,输入经度纬度就可以查看到该位置。
免费获取此应用:https://pan.baidu.com/s/1hWjMN8SwRAcmV6CUaTP4dQ 密码:mfss
注:通过经度纬度查看地图,需要输入准确的经纬度(精确到小数点后六七位),否则你查看到的地图会有很大偏差。
开发步骤
开发总耗时用了不到一天,主要耗时在使用高德地图官方的sdk。。。
##开发步骤
开发环境:AndroidStudio
- 创建一个项目
- 申请高德地图的key(https://lbs.amap.com/dev/key/app)
- 在项目里集成SDK(官方给出的步骤:https://lbs.amap.com/api/android-location-sdk/guide/create-project/android-studio-create-project)
- 方法一:将下载的定位 SDK jar 文件复制到工程
- 方法二:通过Gradle集成SDK,即添加相关的依赖(此项目采用的这种方法)
- 配置 AndroidManifest.xml 文件
- 在AndroidManifest.xml的application标签中配置Key
- 在application标签中声明service组件
- 在AndroidManifest.xml中配置权限
- 编写主程序的代码
代码:
(app路径下的)build.gradle添加依赖
implementation 'com.amap.api:3dmap:latest.integration'implementation 'com.amap.api:location:latest.integration'
在AndroidManifest.xml的application标签中配置Key
<meta-data android:name="com.amap.api.v2.apikey"android:value="你自己的key你自己的key你自己的key"></meta-data>
在AndroidManifest.xmlapplication标签中声明service组件
<service android:name="com.amap.api.location.APSService"></service>
在AndroidManifest.xml中配置权限
<!--用于进行网络定位--><uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission><!--用于访问GPS定位--><uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission><!--获取运营商信息,用于支持提供运营商信息相关的接口--><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission><!--用于访问wifi网络信息,wifi信息会用于进行网络定位--><uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission><!--这个权限用于获取wifi的获取权限,wifi信息会用来进行网络定位--><uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission><!--用于访问网络,网络定位需要上网--><uses-permission android:name="android.permission.INTERNET"></uses-permission><!--用于读取手机当前的状态--><uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission><!--写入扩展存储,向扩展卡写入数据,用于写入缓存定位数据--><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission><!--用于申请调用A-GPS模块--><uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"></uses-permission><!--用于申请获取蓝牙信息进行室内定位--><uses-permission android:name="android.permission.BLUETOOTH"></uses-permission><uses-permission android:name="android.permission.BLUETOOTH_ADMIN"></uses-permission>
主程序代码(布局忽略)
//经度纬度写反了。。。
public class MainActivity extends AppCompatActivity {private Button btnFind;private EditText edtJingdu;private EditText edtWeidu;private MapView mapView;private AMap aMap;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);initView();mapView = (MapView) findViewById(R.id.map);mapView.onCreate(savedInstanceState);//必须要写init();}private void initView() {btnFind = findViewById(R.id.btn_find);edtJingdu = findViewById(R.id.edt_jingdu);edtWeidu = findViewById(R.id.edt_weidu);btnFind.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {String jingdu = edtJingdu.getText().toString();String weidu = edtWeidu.getText().toString();// aMap.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(34.341568, 108.940174), 18));//显示指定的地点
// aMap.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(Double.valueOf(jingdu), Double.valueOf(weidu)), 18));//点击按钮跳转到指定的地点
// LatLng latLng = new LatLng(39.906901,116.397972);//地点经纬度LatLng latLng = new LatLng(Double.valueOf(jingdu), Double.valueOf(weidu));final Marker marker = aMap.addMarker(new MarkerOptions().position(latLng).title("北京").snippet("DefaultMarker"));aMap.moveCamera(CameraUpdateFactory.newLatLngZoom(latLng, 18));}});}/*** 初始化AMap对象*/private void init() {if (aMap == null) {aMap = mapView.getMap();}}/*** 方法必须重写*/@Overrideprotected void onResume() {super.onResume();mapView.onResume();}/*** 方法必须重写*/@Overrideprotected void onPause() {super.onPause();mapView.onPause();}/*** 方法必须重写*/@Overrideprotected void onSaveInstanceState(Bundle outState) {super.onSaveInstanceState(outState);mapView.onSaveInstanceState(outState);}/*** 方法必须重写*/@Overrideprotected void onDestroy() {super.onDestroy();mapView.onDestroy();}
}
通过经纬度查看地图位置的app相关推荐
- 微信小程序定位开发 逆地理位置查询 经纬度获取位置名称
一. 微信小程序获取用户定位==>经纬度(官方) (1)官方方法:wx.getLocation(Object object) (2)官方链接:https://developers.weixin. ...
- 根据百度地图经纬度获取位置信息
/*** 根据百度地图经纬度获取位置信息 **/ public class BaiduMapUtils {// 百度地图秘钥static String ak = "此处添加你的百度地图秘钥& ...
- Gmap使用说明,通过输入经纬度查询位置
由于本人对于Gmap的使用时间不长,有很多东西不是太熟悉,所以本人的代码有借鉴的部分,如有发现侵权,还请及时联系本人. 我目前已经基本实现了,地图的放大.缩小.平移的功能.完成了鼠标单击标点,输入经纬 ...
- Android之根据经纬度查询位置地址名称
这几天在做一个LBS的应用,需要把当前获取的经纬度转化成当前位置名称(文字描述),因为当前的经纬度很容易知道,根据网络或者GPS就可以得到,所以关键是把经纬度转化位置的具体描述,但是又不想使用百度或者 ...
- 微信小程序-腾讯地图根据经纬度获取位置与根据位置获取经纬度
注意:如果request非法,请移步 到 上一篇博客 填写request合法域名章节,上一篇博客末尾也有写道获取当前定位得方法 一.根据经纬度获取位置信息 登陆腾讯地图官网,选择控制台,选择开发文档- ...
- android根据经纬度查询位置名称
这几天在做一个LBS的应用,需要把当前获取的经纬度转化成当前位置名称(文字描述),因为当前的经纬度很容易知道,根据网络或者GPS就可以得到,所以关键是把经纬度转化位置的具体描述,但是又不想使用百度或者 ...
- iOS应用根据经纬度打开不同地图app进行导航
现在地图导航已经很普遍了,为自己的项目添加导航功能有两种方法,一种是集成第三方sdk到自己的app上,这个比较复杂,并且会使自己的app变得很大很臃肿.所以,还是选择另一种方式,根据所获取的经纬度,打 ...
- 百度定位SDK实现获取当前经纬度及位置
使用Android自带的LocationManager和Location获取位置的时候,经常会有获取的location为null的情况,并且操作起来也不是很方便,在这个Demo里我使用了百度地图API ...
- 在VUE中使用Echarts世界地图,并根据经纬度标记位置
项目需求: 根据经纬度在地图上标记(14种不同类型的标记)出位置,点击标记后出现 详细内容,再点击内容跳转页面 一.下载 echarts 包 npm install --save echarts 二. ...
最新文章
- 安装Win7时出现“安装程序无法创建新的系统分区……”的解决办法
- 深度学习-Tensorflow2.2-卷积神经网络{3}-卷积神经网络CNN示例-12
- ROS坐标系统,常见的坐标系和其含义
- abaqus失效单元删除_abaqus单元删除的一般方法
- 代理模式-Java实现-静态代理、动态代理
- 远程连接IBM MQ 7.5的“AMQ4036”错误解决
- oracle财务软件中出纳用,财务软件中:“出纳签字”功能在会计核算中的作用及操作步骤?...
- Android计算器简单实现
- Axis2+Rampart(WSS4J)实现UsernameToken认证方式的WS-Security(基于SOAP的Web安全调用机制)
- DDMS中data打不开
- 必应 Bing 有点意思的搜索引擎
- 红绿灯交通标志机动车行人数据集
- 2019,入职互联网公司的好时机,你抓住了没?
- Linux从头开始学--学习笔记9知识点补充-ubuntu,centos;在linux上创建c程序;linux基础命令,shell命令,vi命令,man帮助手册
- Flask HTML模板引擎详解
- html分享插件,10个jQuery插件分享
- console的常用方法
- Hard Disk Sentinel硬盘Sentinel Pro 5.61.15多语言
- Flappy bird模式值得追捧么?
- sklearn机器学习:K均值聚类
热门文章
- linux : add new log type to plog
- 题8.18:编一程序,输入月份号,输出该月的英文月名。例如,输人3,则输出“March“ ,要 求用指针数组处理。
- c语言系统api,C语言接口与实现方法实例详解
- scala类型变量界定、视图界定、上下文界定
- VS Code插件和快捷键
- C++(标准库):45---并发之(底层接口thread()、promise、packaged_task)
- git项目迁移 出现“Import version mismatch: Required0.2.4 but was 0.1.0”
- H - Identity Card
- 五、大话HTTP协议-HTTP之URL编码、身份认证问题
- 【书籍学习】史上最全的Java进阶书籍推荐