一:申请百度地图key
申请key网址:http://dev.baidu.com/wiki/static/imap/key/(没有百度账号先注册账号)
二 :下载百度地图android版api
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功能的activity的onCreate里调用start, onDestroy调用stop,或者onResume/onPause分别调用start和stop。
四:创建main.xml文件,注意MapView空间必须是com.baidu.mapapi.MapView
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<com.baidu.mapapi.MapView
android:id="@+id/map_view"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true"
android:enabled="true" />
</LinearLayout>
五:新建LocationActivity.java (继承com.baidu.mapapi.MapActivity),如下:
package com.location.activity;
import android.location.Location;
import android.os.Bundle;
import android.widget.TextView;
import com.baidu.mapapi.BMapManager;
import com.baidu.mapapi.LocationListener;
import com.baidu.mapapi.MKLocationManager;
import com.baidu.mapapi.MapActivity;
/**
* 创建Activity(继承com.baidu.mapapi.MapActivity)
*/
public class LocationActivity extends MapActivity implements LocationListener {
private BMapManager mapManager;
private MKLocationManager mLocationManager = null;
private TextView latText;
private TextView lonText;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
latText = (TextView) findViewById(R.id.lat);
lonText = (TextView) findViewById(R.id.lon);
// 初始化MapActivity
mapManager = new BMapManager(getApplication());
// init方法的第一个参数需填入申请的API Key
mapManager.init("C66C0501D0280744759A6957C42543AE38F5D540", null);
super.initMapActivity(mapManager);
mLocationManager = mapManager.getLocationManager();
// 注册位置更新事件
mLocationManager.requestLocationUpdates(this);
// 使用GPS定位
mLocationManager.enableProvider((int) MKLocationManager.MK_GPS_PROVIDER);
}
@Override
protected boolean isRouteDisplayed() {
return false;
}
@Override
protected void onDestroy() {
if (mapManager != null) {
mapManager.destroy();
mapManager = null;
}
mLocationManager = null;
super.onDestroy();
}
@Override
protected void onPause() {
if (mapManager != null) {
mapManager.stop();
}
super.onPause();
}
@Override
protected void onResume() {
if (mapManager != null) {
mapManager.start();
}
super.onResume();
}
/**
* 根据MyLocationOverlay配置的属性确定是否在地图上显示当前位置
*/
@Override
protected boolean isLocationDisplayed() {
return false;
}
/**
* 当位置发生变化时触发此方法
*
* @param location 当前位置
*/
public void onLocationChanged(Location location) {
if (location != null) {
// 显示定位结果
lonText.setText("当前经度:" + location.getLongitude());
latText.setText("当前纬度:" + location.getLatitude());
}
}
}
六:在AndroidManifest.xml中要添加访问网络和启动定位等的几个权限
<!-- 访问网络的权限 -->
<uses-permission android:name="android.permission.INTERNET" />
<!-- 访问精确位置的权限 -->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<!-- 访问网络状态的权限 -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!-- 访问WIFI网络状态的权限 -->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<!-- 改变WIFI网络状态的权限 -->
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<!-- 读写存储卡的权限 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!-- 读取电话状态的权限 -->
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
七:运行效果如下图:
- 大小: 18 KB
分享到:
相关推荐
android 百度API 获取经纬度 本人android获取经纬度代码
android 百度地图api 经纬度,一个基于百度地图api 获取经纬度的小例子,解决了用gps定位为null的问题,简单实用,决对可用
调用百度地图定位同时获取经纬度,应该要更改成自己的百度地图key值,还有手机别忘了开权限,打开GPS
Android 使用高德api获取经纬度
通过Androidstudio3.0对于百度地图进行开发,主要实现通过经纬度修改定位,改变地图显示类型(普通、卫星、热力、实况等)
百度地图获取经纬度和地址Demo百度地图获取经纬度和地址Demo百度地图获取经纬度和地址Demo百度地图获取经纬度和地址Demo百度地图获取经纬度和地址Demo
使用百度地图获取经纬度和地址信息,定位当前地址信息
Android调用百度地图api 自动定位,获取中心位置的坐标,根据坐标获取地理信息,标注地理信息
基于Android的百度地图车辆定位系统设计与实现 基于Android的百度地图车辆定位系统设计与实现 基于Android的百度地图车辆定位系统设计与实现 基于Android的百度地图车辆定位系统设计与实现 基于Android的百度...
基于百度地图API 的驴游地图应用(Android)。 近年来,随着安卓智能手机的普及,各种各样的 Android 应用如雨后春笋般涌现出来,本应用基于百度地图 API 接口,利用百度地图提供的 API 开发包开发,旨在为用户...
源码 博文链接:https://104zz.iteye.com/blog/1681845
xamarin android中使用gps定位获取经纬度,入门的简单介绍:http://blog.csdn.net/kebi007/article/details/74936979
百度地图API是为开发者免费提供的一套基于百度地图服务的应用接口,包括JavaScript API、Web服务API、Android SDK、iOS SDK、定位SDK、车联网API、LBS云等多种开发工具与服务,提供基本地图展现、搜索、定位、逆/...
获取经纬度已经封装成工具类,纯原生获取android手机经纬度,并且根据经纬度转换成准确的地址
获取经纬度已经封装成工具类,纯原生获取android手机经纬度,并且根据经纬度转换成准确的地址
采用百度地图API,功能简单,但是非常实用,方便大家学习。
Android Studio的版本为3.5.0,百度API使用的为最新版,2021.11.14日的API
android百度地图api文档,需要demo的去我的资源上传搜索
Android通过百度api获取经纬度,继而获取到详细地名。
文件里面是百度地图api,用于android对百度地图的调用,我们用这些api就可以在百度地图上开发我们相应的程序了