80,350
社区成员
发帖
与我相关
我的任务
分享
int i = mLocationClient.requestLocation();
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;
import com.baidu.location.BDLocation;
import com.baidu.location.BDLocationListener;
import com.baidu.location.LocationClient;
import com.baidu.location.LocationClientOption;
import com.baidu.location.LocationClientOption.LocationMode;
import com.meetxyt.activity.R;
public class SearchTaActivity extends Activity {
private TextView txtAutoNaviInfo = null;
private LocationClient mLocationClient;
private LocationMode tempMode = LocationMode.Hight_Accuracy;//高精度定位模式
private String tempcoor = "gcj02";
private MyLocationListener mMyLocationListener = null;
private static int LOCATION_COUTNS = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_search_ta);
txtAutoNaviInfo = (TextView) this.findViewById(R.id.textLocation);
mLocationClient = new LocationClient(SearchTaActivity.this);
InitLocation();
mMyLocationListener = new MyLocationListener();
mLocationClient.registerLocationListener(mMyLocationListener);
if (mLocationClient.isStarted()) {
mLocationClient.stop();
} else {
mLocationClient.start();//启动定位sdk
int i = mLocationClient.requestLocation();//此处一直返回 1 百度官方文档1表示服务没有启动
txtAutoNaviInfo.setText((i+"").toString());
}
}
@Override
protected void onStop() {
mLocationClient.stop();//停止定位sdk
super.onStop();
}
private void InitLocation() {
LocationClientOption option = new LocationClientOption();
option.setLocationMode(tempMode);//设置定位模式
option.setCoorType(tempcoor);//返回的定位结果是百度经纬度,默认值gcj02
int span = 5000;
option.setScanSpan(span);//设置发起定位请求的间隔时间为5000ms
option.setIsNeedAddress(true);//设置是否需要地址信息,默认为无地址
option.setOpenGps(true);
option.setProdName("meetxyt");
mLocationClient.setLocOption(option);
}
/**
* 实现实位回调监听
*/
private class MyLocationListener implements BDLocationListener {
@Override
public void onReceiveLocation(BDLocation location) {
//Receive Location
StringBuffer sb = new StringBuffer(256);
sb.append("time : ");
sb.append(location.getTime());
sb.append("\nerror code : ");
sb.append(location.getLocType());
sb.append("\nlatitude : ");
sb.append(location.getLatitude());
sb.append("\nlontitude : ");
sb.append(location.getLongitude());
sb.append("\nradius : ");
sb.append(location.getRadius());
if (location.getLocType() == BDLocation.TypeGpsLocation) {
sb.append("\nspeed : ");
sb.append(location.getSpeed());
sb.append("\nsatellite : ");
sb.append(location.getSatelliteNumber());
sb.append("\ndirection : ");
sb.append("\naddr : ");
sb.append(location.getAddrStr());
sb.append(location.getDirection());
} else if (location.getLocType() == BDLocation.TypeNetWorkLocation) {
sb.append("\naddr : ");
sb.append(location.getAddrStr());
//运营商信息
sb.append("\noperationers : ");
sb.append(location.getOperators());
}
sb.append("\n检查位置更新次数:");
LOCATION_COUTNS++;
sb.append(String.valueOf(LOCATION_COUTNS));
txtAutoNaviInfo.setText(sb.toString());
Log.i("BaiduLocationApiDem", sb.toString());
}
}
@Override
protected void onDestroy() {
super.onDestroy();
if (mLocationClient != null && mLocationClient.isStarted()) {
mLocationClient.stop();
mLocationClient = null;
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.meetxyt.activity"
android:versionCode="1"
android:versionName="@string/version_name" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="19" />
<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 android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<service
android:name="com.baidu.location.f"
android:enabled="true"
android:process=":remote"
>
<intent-filter>
<action android:name="com.baidu.location.service_v2.2" >
</action>
</intent-filter>
</service>
<!-- meta-data需要写在application中 -->
<meta-data
android:name="com.baidu.lbsapi.API_KEY"
android:value="3u4924vStDbG70Y3aXfwHKed" />
<activity
android:name="com.meetxyt.activity.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="com.meetxyt.activity.user.LoginActivity"
android:label="@string/title_activity_login" >
</activity>
<activity
android:name="com.meetxyt.activity.user.SearchTaActivity"
android:label="@string/title_activity_search_ta" >
</activity>
</application>
</manifest>