`

android 基于百度地图api获取经纬度

阅读更多

:申请百度地图key

申请key网址:http://dev.baidu.com/wiki/static/imap/key/(没有百度账号先注册账号)

二 :下载百度地图androidapi  

      http://dev.baidu.com/wiki/static/imap/files/android/BaiduMapApi_Lib_Android_1.3.3.zip

 

三:api库的使用:

1.解压后将baidumapapi.jar添加在项目Libraries里,将libBMapApiEngine_v1_3_3.so复制到工程目录下的libs\armeabi(没有这两个文件夹自己在项目根目录下创建)

2. 地图、定位、搜索功能都需要BMapManager来管理,BMapManager提供四个接口,init, start, stop, destroy。建议在Application里生成BMapManager对象并初使化,在程序退出时调用destory,在需要使用sdk功能的activityonCreate里调用start, onDestroy调用stop,或者onResume/onPause分别调用startstop

 

四:创建main.xml文件,注意MapView空间必须是com.baidu.mapapi.MapView

 

Xml代码  收藏代码
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:layout_width="fill_parent"  
  4.     android:layout_height="fill_parent"  
  5.     android:orientation="vertical" >  
  6.            <span style="color: #ff0000;"><com.baidu.mapapi.MapView</span>  
  7.             android:id="@+id/map_view"  
  8.             android:layout_width="fill_parent"  
  9.             android:layout_height="fill_parent"  
  10.             android:clickable="true"  
  11.             android:enabled="true" />  
  12.    </LinearLayout>  

 

 

五:新建LocationActivity.java (继承com.baidu.mapapi.MapActivity),如下:

 

Java代码  收藏代码
  1. package com.location.activity;  
  2.   
  3. import android.location.Location;  
  4. import android.os.Bundle;  
  5. import android.widget.TextView;  
  6.   
  7. import com.baidu.mapapi.BMapManager;  
  8. import com.baidu.mapapi.LocationListener;  
  9. import com.baidu.mapapi.MKLocationManager;  
  10. import com.baidu.mapapi.MapActivity;  
  11.   
  12. /** 
  13.  * 创建Activity(继承com.baidu.mapapi.MapActivity) 
  14.  */  
  15. public class LocationActivity extends MapActivity implements LocationListener {  
  16.     private BMapManager mapManager;  
  17.     private MKLocationManager mLocationManager = null;  
  18.   
  19.     private TextView latText;  
  20.     private TextView lonText;  
  21.   
  22.     @Override  
  23.     public void onCreate(Bundle savedInstanceState) {  
  24.         super.onCreate(savedInstanceState);  
  25.         setContentView(R.layout.main);  
  26.   
  27.         latText = (TextView) findViewById(R.id.lat);  
  28.         lonText = (TextView) findViewById(R.id.lon);  
  29.   
  30.         // 初始化MapActivity  
  31.         mapManager = new BMapManager(getApplication());  
  32.         // init方法的第一个参数需填入申请的API Key  
  33.         mapManager.init("C66C0501D0280744759A6957C42543AE38F5D540"null);  
  34.         super.initMapActivity(mapManager);  
  35.   
  36.         mLocationManager = mapManager.getLocationManager();  
  37.         // 注册位置更新事件  
  38.         mLocationManager.requestLocationUpdates(this);  
  39.         // 使用GPS定位  
  40.         mLocationManager.enableProvider((int) MKLocationManager.MK_GPS_PROVIDER);  
  41.     }  
  42.   
  43.     @Override  
  44.     protected boolean isRouteDisplayed() {  
  45.         return false;  
  46.     }  
  47.   
  48.     @Override  
  49.     protected void onDestroy() {  
  50.         if (mapManager != null) {  
  51.             mapManager.destroy();  
  52.             mapManager = null;  
  53.         }  
  54.         mLocationManager = null;  
  55.         super.onDestroy();  
  56.     }  
  57.   
  58.     @Override  
  59.     protected void onPause() {  
  60.         if (mapManager != null) {  
  61.             mapManager.stop();  
  62.         }  
  63.         super.onPause();  
  64.     }  
  65.   
  66.     @Override  
  67.     protected void onResume() {  
  68.         if (mapManager != null) {  
  69.             mapManager.start();  
  70.         }  
  71.         super.onResume();  
  72.     }  
  73.   
  74.     /** 
  75.      * 根据MyLocationOverlay配置的属性确定是否在地图上显示当前位置 
  76.      */  
  77.     @Override  
  78.     protected boolean isLocationDisplayed() {  
  79.         return false;  
  80.     }  
  81.   
  82.     /** 
  83.      * 当位置发生变化时触发此方法 
  84.      *  
  85.      * @param location 当前位置 
  86.      */  
  87.     public void onLocationChanged(Location location) {  
  88.         if (location != null) {  
  89.             // 显示定位结果  
  90.             lonText.setText("当前经度:" + location.getLongitude());  
  91.             latText.setText("当前纬度:" + location.getLatitude());  
  92.         }  
  93.     }  
  94. }  

   

 

六:在AndroidManifest.xml中要添加访问网络和启动定位等的几个权限

 

Xml代码  收藏代码
  1. <!-- 访问网络的权限 -->  
  2.     <uses-permission android:name="android.permission.INTERNET" />  
  3.     <!-- 访问精确位置的权限 -->  
  4.     <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />  
  5.     <!-- 访问网络状态的权限 -->  
  6.     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />  
  7.     <!-- 访问WIFI网络状态的权限 -->  
  8.     <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />  
  9.     <!-- 改变WIFI网络状态的权限 -->  
  10.     <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />  
  11.     <!-- 读写存储卡的权限 -->  
  12.     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />  
  13.     <!-- 读取电话状态的权限 -->  
  14.     <uses-permission android:name="android.permission.READ_PHONE_STATE" />  

 

 

 

七:运行效果如下图:


分享到:
评论

相关推荐

    Androidstudio3.0百度地图通过经纬度定位&地图类型转换

    在Android应用开发中,使用百度地图API是一种常见的实践,特别是在实现地理位置相关功能时。本文将深入探讨如何在Android Studio 3.0环境下,利用百度地图SDK实现基于经纬度的定位功能以及地图类型的切换,包括普通...

    android 基于百度地图api开发定位以及获取详细地址

    通过以上步骤,我们就实现了Android应用中基于百度地图API的基本定位功能,并获取到了详细的地址信息。如果需要更高级的功能,如路径规划、地理编码/反地理编码等,可以查阅百度地图API的官方文档进行深入学习。提供...

    百度地图定位获取经纬度

    首先,我们要明白“百度地图定位”是百度地图API提供的一项服务,它允许开发者在应用中集成地图功能,并获取用户设备的地理位置信息。这项服务基于GPS、Wi-Fi信号、基站等多源定位技术,能够为用户提供精确的地理...

    基于android的百度地图应用

    在Android平台上开发基于百度地图的应用是一项常见的任务,它涉及到Android编程、网络通信、地理信息系统(GIS)以及百度地图API的使用。本项目标题为“基于android的百度地图应用”,其描述指出该应用功能虽简单但...

    百度地图获取gps经纬度

    使用百度地图API获取GPS经纬度的步骤如下: 1. **集成百度地图SDK**:首先,你需要在Android项目中集成百度地图SDK。这通常涉及在build.gradle文件中添加依赖项,然后同步项目以下载相关库。 2. **申请API密钥**:...

    基于百度地图API -- 周边POI搜索

    本项目关注的是“基于百度地图API的周边POI(Point of Interest)搜索”,这是一个典型的地理定位与信息检索应用场景,主要涉及到Android平台上的开发。下面将详细阐述相关知识点: 1. **百度地图API**:百度地图...

    基于Android的百度地图车辆定位系统设计与实现

    在Android客户端,文章详细阐述了基于百度地图API的应用开发。通过解析服务器返回的JSON数据,客户端可以在地图上实时显示车辆位置,并实现历史轨迹的回放。同时,客户端界面设计遵循Android的Material Design原则,...

    利用百度地图API制作android地图应用

    在Android开发中,创建一款基于地图的应用是一项常见的需求,而百度地图API则为开发者提供了强大的地图功能支持。本文将深入探讨如何利用百度地图API来制作Android地图应用,以及实现地图上的位置搜索和周边信息显示...

    根据经纬度查看百度地图demo

    在这个DEMO中,开发者利用百度地图API实现了基于经纬度的定位和显示。用户输入经纬度后,DEMO可以在百度地图上展示对应的地理位置,并支持拖动、缩放等交互操作。 要实现这个DEMO,开发者需要完成以下关键步骤: 1...

    百度地图api_百度地图API_百度地图_

    **周边搜索**是基于百度地图API实现的另一项重要功能。开发者可以通过关键词搜索,获取指定范围内的餐馆、酒店、公交站等地点信息,为用户提供生活服务推荐。同时,API还支持自定义POI(Point of Interest)数据,...

    Android-基于百度地图API实现定位功能

    总结来说,基于百度地图API实现Android定位功能需要完成SDK集成、API密钥配置、地图初始化、定位服务开启与监听、显示定位标记等一系列步骤。在实际开发中,还需要关注性能优化和异常处理,以确保应用的稳定性和用户...

    百度地图API源码

    百度地图API是开发人员构建地图相关应用的强大工具,它允许开发者通过集成不同的版本接口,实现丰富的功能,如基本地图展示、定位、搜索、导航等。在本压缩包中,包含的“BaiduMapsApiDemo”可能是一个示例项目,...

    基于百度地图API的天气预报小应用(地图+天气)

    在本项目中,我们探索的是一个基于百度地图API构建的天气预报小应用。这个应用能够集成地图展示功能和实时天气信息,为用户提供便利的城市天气查询服务。以下将详细阐述涉及的技术点、实现方法以及可能遇到的问题。 ...

    利用百度地图API进行当前位置的定位

    其中,百度地图API是开发者广泛使用的工具之一,它允许开发者集成到自己的应用程序中,实现各种基于地理位置的服务。本篇文章将深入探讨如何利用百度地图API进行当前位置的定位,并介绍相关的关键知识点。 首先,...

    百度地图移动获取位置、自动定位

    在Android开发中,百度地图API提供了强大的地理位置服务,包括移动获取位置和自动定位功能。本文将深入探讨如何在Android应用中实现这些功能,基于提供的标签"android源码"、"百度地图"和"定位"。 首先,我们需要在...

    基于Android的百度地图的导航定位系统

    本文将深入探讨一个基于Android平台,利用百度地图API开发的导航定位系统,通过分析其核心技术和实现流程,为读者提供一份详尽的理解指南。 一、系统概述 基于Android的百度地图导航定位系统,主要由客户端应用和...

    Android程序研发源码Android 百度地图API源码.zip

    在Android应用程序开发中,百度地图API是一个至关重要的组件,它为开发者提供了丰富的地图服务功能,如定位、导航、路线规划、地理编码等。这个压缩包文件"Android程序研发源码Android 百度地图API源码.zip"包含了...

    Android源码——百度地图API源码.zip

    百度地图API是一套基于Web服务接口的开发工具,它允许开发者通过HTTP请求获取地图数据和服务,并在自己的应用程序中集成显示。在Android平台上,百度地图API通常以SDK的形式提供,开发者可以通过引入SDK,按照官方...

    Android使用百度地图API实现定位app

    在Android平台上开发一款基于百度地图API的定位应用,可以实现高效、精准的地理位置服务。本文将详细介绍如何利用百度地图SDK来构建这样的应用,包括集成步骤、权限设置、地图显示、定位功能实现以及常见问题的解决...

    android 百度定位、离线地图、测量、运动轨迹doem基于百度地图的部分功能

    在Android开发中,百度地图API提供了丰富的功能,包括定位、离线地图、测量以及运动轨迹绘制等。这些功能使得开发者可以构建出具有专业地理信息处理能力的应用。在使用百度地图API时,尤其对于Android 6.0及以上版本...

Global site tag (gtag.js) - Google Analytics