您的位置:首页 > 移动开发 > Android开发

android 利用百度地图地位获取当前城市

2013-08-09 23:10 239 查看
1 导入百度定位 sdk

2 代码如下:

import com.baidu.location.BDLocation;
import com.baidu.location.BDLocationListener;
import com.baidu.location.LocationClient;
import com.baidu.location.LocationClientOption;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class mainActivity extends Activity {
private TextView mTv = null;
public LocationClient mLocationClient = null;
public MyLocationListenner myListener = new MyLocationListenner();

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

setContentView(R.layout.main);
mLocationClient = new LocationClient( this );
mLocationClient.registerLocationListener( myListener );
mTv = (TextView)findViewById(R.id.textview);
setLocationOption();
mLocationClient.start();
}   

public class MyLocationListenner implements BDLocationListener {
@Override
public void onReceiveLocation(BDLocation location) {
mTv.setText(location.getCity());
}

@Override
public void onReceivePoi(BDLocation arg0) {
}
}
@Override
public void onDestroy() {
mLocationClient.stop();
super.onDestroy();
}

//设置相关参数
private void setLocationOption(){
LocationClientOption option = new LocationClientOption();
option.setOpenGps(true); //打开gps
option.setServiceName("com.baidu.location.service_v2.9");
option.setPoiExtraInfo(true);
option.setAddrType("all");
option.setPriority(LocationClientOption.NetWorkFirst);
option.setPriority(LocationClientOption.GpsFirst);       //gps 
option.setPoiNumber(10);
option.disableCache(true);
mLocationClient.setLocOpti
4000
on(option);
}

}

3  需要用到的权限
   
 <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>
<uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"></uses-permission>
<uses-permission android:name="android.permission.READ_LOGS"></uses-permission>
<uses-permission android:name="android.permission.VIBRATE"></uses-permission>
<uses-permission android:name="android.permission.WRITE_SETTINGS"></uses-permission> 

4 在清单文件里要加入一个服务。

<service android:name="com.baidu.location.f" android:enabled="true"
android:process=":remote">
<!--   <intent-filter>
<action android:name="com.baidu.location.service_v2.9"></action>
</intent-filter>-->
</service>
</application>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: