总目录:

  • 开发步骤
  • 开发代码

应需求,使用高德地图的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. 微信小程序定位开发 逆地理位置查询 经纬度获取位置名称

    一. 微信小程序获取用户定位==>经纬度(官方) (1)官方方法:wx.getLocation(Object object) (2)官方链接:https://developers.weixin. ...

  2. 根据百度地图经纬度获取位置信息

    /*** 根据百度地图经纬度获取位置信息 **/ public class BaiduMapUtils {// 百度地图秘钥static String ak = "此处添加你的百度地图秘钥& ...

  3. Gmap使用说明,通过输入经纬度查询位置

    由于本人对于Gmap的使用时间不长,有很多东西不是太熟悉,所以本人的代码有借鉴的部分,如有发现侵权,还请及时联系本人. 我目前已经基本实现了,地图的放大.缩小.平移的功能.完成了鼠标单击标点,输入经纬 ...

  4. Android之根据经纬度查询位置地址名称

    这几天在做一个LBS的应用,需要把当前获取的经纬度转化成当前位置名称(文字描述),因为当前的经纬度很容易知道,根据网络或者GPS就可以得到,所以关键是把经纬度转化位置的具体描述,但是又不想使用百度或者 ...

  5. 微信小程序-腾讯地图根据经纬度获取位置与根据位置获取经纬度

    注意:如果request非法,请移步 到 上一篇博客 填写request合法域名章节,上一篇博客末尾也有写道获取当前定位得方法 一.根据经纬度获取位置信息 登陆腾讯地图官网,选择控制台,选择开发文档- ...

  6. android根据经纬度查询位置名称

    这几天在做一个LBS的应用,需要把当前获取的经纬度转化成当前位置名称(文字描述),因为当前的经纬度很容易知道,根据网络或者GPS就可以得到,所以关键是把经纬度转化位置的具体描述,但是又不想使用百度或者 ...

  7. iOS应用根据经纬度打开不同地图app进行导航

    现在地图导航已经很普遍了,为自己的项目添加导航功能有两种方法,一种是集成第三方sdk到自己的app上,这个比较复杂,并且会使自己的app变得很大很臃肿.所以,还是选择另一种方式,根据所获取的经纬度,打 ...

  8. 百度定位SDK实现获取当前经纬度及位置

    使用Android自带的LocationManager和Location获取位置的时候,经常会有获取的location为null的情况,并且操作起来也不是很方便,在这个Demo里我使用了百度地图API ...

  9. 在VUE中使用Echarts世界地图,并根据经纬度标记位置

    项目需求: 根据经纬度在地图上标记(14种不同类型的标记)出位置,点击标记后出现 详细内容,再点击内容跳转页面 一.下载 echarts 包 npm install --save echarts 二. ...

最新文章

  1. 安装Win7时出现“安装程序无法创建新的系统分区……”的解决办法
  2. 深度学习-Tensorflow2.2-卷积神经网络{3}-卷积神经网络CNN示例-12
  3. ROS坐标系统,常见的坐标系和其含义
  4. abaqus失效单元删除_abaqus单元删除的一般方法
  5. 代理模式-Java实现-静态代理、动态代理
  6. 远程连接IBM MQ 7.5的“AMQ4036”错误解决
  7. oracle财务软件中出纳用,财务软件中:“出纳签字”功能在会计核算中的作用及操作步骤?...
  8. Android计算器简单实现
  9. Axis2+Rampart(WSS4J)实现UsernameToken认证方式的WS-Security(基于SOAP的Web安全调用机制)
  10. DDMS中data打不开
  11. 必应 Bing 有点意思的搜索引擎
  12. 红绿灯交通标志机动车行人数据集
  13. 2019,入职互联网公司的好时机,你抓住了没?
  14. Linux从头开始学--学习笔记9知识点补充-ubuntu,centos;在linux上创建c程序;linux基础命令,shell命令,vi命令,man帮助手册
  15. Flask HTML模板引擎详解
  16. html分享插件,10个jQuery插件分享
  17. console的常用方法
  18. Hard Disk Sentinel硬盘Sentinel Pro 5.61.15多语言
  19. Flappy bird模式值得追捧么?
  20. sklearn机器学习:K均值聚类

热门文章

  1. linux : add new log type to plog
  2. 题8.18:编一程序,输入月份号,输出该月的英文月名。例如,输人3,则输出“March“ ,要 求用指针数组处理。
  3. c语言系统api,C语言接口与实现方法实例详解
  4. scala类型变量界定、视图界定、上下文界定
  5. VS Code插件和快捷键
  6. C++(标准库):45---并发之(底层接口thread()、promise、packaged_task)
  7. git项目迁移 出现“Import version mismatch: Required0.2.4 but was 0.1.0”
  8. H - Identity Card
  9. 五、大话HTTP协议-HTTP之URL编码、身份认证问题
  10. 【书籍学习】史上最全的Java进阶书籍推荐