第一步,先要导入百度API的架包libBMapApiEngine_v1_3_3.so和baidumapapi.jar,且libBMapApiEngine_v1_3_3.so包要放到armeabi文件夹下,armeabi和baidumapapi.jar平级。
(附件中的libBMapApiEngine_v1_3_3.zip要解压,解压后把libBMapApiEngine_v1_3_3.so包要放到armeabi文件夹下就行了)
第二步,在布局页面里要加上如下代码
<?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" >
<!-- 使用百度API定位,必须要定义MapView,但又不需要显示 -->
<com.baidu.mapapi.MapView
android:id="@+id/map_View"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true"
android:visibility="gone"
/>
<TextView
android:id="@+id/lat"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="纬度:" />
<TextView
android:id="@+id/lon"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="经度:" />
</LinearLayout>
第三步:写代码
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("285B415EBAB2A92293E85502150ADA7F03C777C4", 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 当前位置
*/
@Override
public void onLocationChanged(Location location) {
if (location != null) {
// 显示定位结果
lonText.setText("当前经度:" + location.getLongitude());
latText.setText("当前纬度:" + location.getLatitude());
}
}
}
最后:添加权限
<!-- 访问网络的权限 -->
<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" />
分享到:
相关推荐
以上就是一个基本的Android应用通过百度API获取经纬度并显示在地图上的过程。在实际开发中,你可能还需要处理各种异常情况,如定位失败、用户禁止定位权限等。同时,为了提高用户体验,可以考虑使用异步任务或者...
总结起来,C#结合百度地图API获取经纬度所在地理位置的核心在于构造正确的API请求,解析返回的JSON数据,并从中提取出所需信息。实际开发中,可能还需要处理网络异常、权限验证等问题,确保程序的健壮性。同时,注意...
"百度API获取经纬度与城市"是一个经典的主题,它涉及到网络请求、API接口调用以及地理编码等概念。以下将详细讲解这些知识点。 首先,经纬度是地球上任何位置的地理坐标系统,经度表示东西方向的位置,纬度表示南北...
总的来说,掌握C#调用百度地图API获取经纬度的方法,对于开发涉及地理位置的应用至关重要。这需要对C#的WebBrowser控件、JavaScript编程以及百度地图API有深入的理解,同时也涉及到了文件操作和多语言环境下的交互。...
完成以上步骤后,你的应用就可以使用百度API获取到经纬度信息了。记得在实际应用中处理各种异常情况,如网络错误、用户拒绝定位权限等。同时,遵循百度地图的使用规定,合理使用API调用次数,避免被封禁。在发布应用...
在Android开发中,有时我们需要获取用户的地理位置信息,如...以上就是AS3.5.0版本的Android应用中,使用百度API获取经纬度和地址信息的详细过程。在实际开发中,还需考虑错误处理、用户隐私保护以及性能优化等问题。
利用百度api接口,根据excel中的地址,批量获取该地址的百度经纬度,主要注意的是,获得的坐标是百度坐标系,而不是wgs84.
通过以上步骤,你就能在Android应用中成功调用百度地图API获取经纬度信息了。注意,为了提高定位精度,可以结合网络定位和GPS定位。同时,确保用户设备的GPS功能已开启,否则可能无法获取到精确的位置信息。在实际...
可在服务器端传入地址参数,调用百度的接口,将百度返回的经纬度转化到java代码中使用。
是个人在公司里边做项目的时候,百度+个人思考摸索出来的,有什么错误,请原谅
【描述】:“通过百度API获取经纬度,继而获取到详细地名。不需要开GPS照样定位很快,本人于浦东测试2秒内就可以获取到。” 百度地图API是百度提供的一项服务,它允许开发者集成到自己的应用程序中,获取用户的地理...
本篇文章将详细讲解如何通过百度地图API实现从地名获取经纬度的过程,并探讨如何利用这些经纬度进行定位。 首先,我们要了解经纬度的概念。经纬度是地球上地理位置的一种表示方式,经度(Longitude)是从本初子午线...
首先,我们要明确的是,这个过程涉及到两个关键知识点:一是读取Excel文件,二是通过网络接口获取经纬度信息。对于读取Excel文件,我们通常会使用Python编程语言中的pandas库,它提供了一个强大的数据处理框架。你...
本文将详细介绍如何使用百度地图API来获取经纬度和地址信息,以便精确地定位到当前的地理位置。 首先,百度地图API(Application Programming Interface)是百度提供的一套接口,允许开发者在其平台上进行地图相关...
百度地图 获取经纬度的html页面 给新手用的
本文将详细讲解如何利用百度地图API在Android应用中获取经纬度坐标,以及解决GPS定位为null的问题。 首先,我们需要在项目中集成百度地图SDK。在AndroidManifest.xml文件中添加必要的权限,比如访问网络、读写外部...
你可以通过查看该项目的代码,学习如何在iOS应用中集成百度地图API的经纬度定位服务。 总之,使用POST请求结合百度地图API,开发者可以在iOS应用中实现精准的地理位置服务。理解POST请求的工作原理以及如何与百度...