android 基于百度mapapi获取经纬度

android 基于百度地图api获取经纬度??xml version1.0 encodingutf-8?LinearLayout xmlns:android

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

?

<?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>?

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;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);latText = (TextView) findViewById(R.id.lat);lonText = (TextView) findViewById(R.id.lon);// 初始化MapActivitymapManager = new BMapManager(getApplication());// init方法的第一个参数需填入申请的API KeymapManager.init("C66C0501D0280744759A6957C42543AE38F5D540", null);super.initMapActivity(mapManager);mLocationManager = mapManager.getLocationManager();// 注册位置更新事件mLocationManager.requestLocationUpdates(this);// 使用GPS定位mLocationManager.enableProvider((int) MKLocationManager.MK_GPS_PROVIDER);}@Overrideprotected boolean isRouteDisplayed() {return false;}@Overrideprotected void onDestroy() {if (mapManager != null) {mapManager.destroy();mapManager = null;}mLocationManager = null;super.onDestroy();}@Overrideprotected void onPause() {if (mapManager != null) {mapManager.stop();}super.onPause();}@Overrideprotected void onResume() {if (mapManager != null) {mapManager.start();}super.onResume();}/** * 根据MyLocationOverlay配置的属性确定是否在地图上显示当前位置 */@Overrideprotected boolean isLocationDisplayed() {return false;}/** * 当位置发生变化时触发此方法 * * @param location 当前位置 */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" />?

?