|
|
@@ -0,0 +1,159 @@
|
|
|
+package com.xzjmyk.pm.activity.ui.erp.activity.oa;
|
|
|
+
|
|
|
+import android.os.Bundle;
|
|
|
+import android.util.Log;
|
|
|
+
|
|
|
+import com.baidu.mapapi.model.LatLng;
|
|
|
+import com.baidu.mapapi.search.core.PoiInfo;
|
|
|
+import com.baidu.mapapi.search.core.SearchResult;
|
|
|
+import com.baidu.mapapi.search.geocode.GeoCodeResult;
|
|
|
+import com.baidu.mapapi.search.geocode.GeoCoder;
|
|
|
+import com.baidu.mapapi.search.geocode.OnGetGeoCoderResultListener;
|
|
|
+import com.baidu.mapapi.search.geocode.ReverseGeoCodeOption;
|
|
|
+import com.baidu.mapapi.search.geocode.ReverseGeoCodeResult;
|
|
|
+import com.baidu.mapapi.search.poi.OnGetPoiSearchResultListener;
|
|
|
+import com.baidu.mapapi.search.poi.PoiDetailResult;
|
|
|
+import com.baidu.mapapi.search.poi.PoiIndoorInfo;
|
|
|
+import com.baidu.mapapi.search.poi.PoiIndoorResult;
|
|
|
+import com.baidu.mapapi.search.poi.PoiNearbySearchOption;
|
|
|
+import com.baidu.mapapi.search.poi.PoiResult;
|
|
|
+import com.baidu.mapapi.search.poi.PoiSearch;
|
|
|
+import com.xzjmyk.pm.activity.BdLocationHelper;
|
|
|
+import com.xzjmyk.pm.activity.MyApplication;
|
|
|
+import com.xzjmyk.pm.activity.R;
|
|
|
+import com.xzjmyk.pm.activity.ui.base.BaseActivity;
|
|
|
+
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+//选择地址
|
|
|
+public class LocationMapActivity extends BaseActivity {
|
|
|
+
|
|
|
+ private PoiSearch mPoiSearch;
|
|
|
+
|
|
|
+ @Override
|
|
|
+ protected void onCreate(Bundle savedInstanceState) {
|
|
|
+ super.onCreate(savedInstanceState);
|
|
|
+ setContentView(R.layout.activity_select_location2);
|
|
|
+// mPoiSearch = PoiSearch.newInstance();
|
|
|
+// PoiNearbySearchOption poi = new PoiNearbySearchOption();
|
|
|
+// poi.keyword("楼");
|
|
|
+// poi.radius(500);
|
|
|
+// BdLocationHelper h = MyApplication.getInstance().getBdLocationHelper();
|
|
|
+// LatLng lalag = new LatLng(h.getLatitude(), h.getLongitude());
|
|
|
+// poi.location(lalag);
|
|
|
+// mPoiSearch.searchNearby(poi);
|
|
|
+// GeoCoder coder = GeoCoder.newInstance();
|
|
|
+// coder.setOnGetGeoCodeResultListener(new OnGetGeoCoderResultListener() {
|
|
|
+// @Override
|
|
|
+// public void onGetReverseGeoCodeResult(
|
|
|
+// ReverseGeoCodeResult result) {
|
|
|
+//// 这个result 里面有个附近poi的列表
|
|
|
+//
|
|
|
+// }
|
|
|
+//
|
|
|
+// @Override
|
|
|
+// public void onGetGeoCodeResult(GeoCodeResult arg0) {
|
|
|
+// }
|
|
|
+//
|
|
|
+//// mPoiSearch.setOnGetGeoCodeResultListener(poiListener);
|
|
|
+//
|
|
|
+// });
|
|
|
+//
|
|
|
+// OnGetPoiSearchResultListener poiListener = new OnGetPoiSearchResultListener() {
|
|
|
+// public void onGetPoiResult(PoiResult result) {
|
|
|
+// //获取POI检索结果
|
|
|
+// List<PoiAddrInfo> lis = result.getAllAddr();
|
|
|
+// for (int i = 0; i < lis.size(); i++) {
|
|
|
+// Log.i("gongpengmings", lis.get(i).address);
|
|
|
+// }
|
|
|
+// }
|
|
|
+//
|
|
|
+// public void onGetPoiDetailResult(PoiDetailResult result) {
|
|
|
+// //获取Place详情页检索结果
|
|
|
+// Log.i("gongpengmingss", result.getAddress());
|
|
|
+// }
|
|
|
+//
|
|
|
+// @Override
|
|
|
+// public void onGetPoiIndoorResult(PoiIndoorResult poiIndoorResult) {
|
|
|
+//
|
|
|
+// }
|
|
|
+// };
|
|
|
+// nearbySearch(1);
|
|
|
+// dosame();
|
|
|
+ }
|
|
|
+
|
|
|
+ private void nearbySearch(int page) {
|
|
|
+ BdLocationHelper h = MyApplication.getInstance().getBdLocationHelper();
|
|
|
+ final LatLng geolat = new LatLng(h.getLatitude(), h.getLongitude());
|
|
|
+ PoiNearbySearchOption nearbySearchOption = new PoiNearbySearchOption();
|
|
|
+ nearbySearchOption.location(geolat);
|
|
|
+ nearbySearchOption.keyword("银行");
|
|
|
+ nearbySearchOption.radius(1000);// 检索半径,单位是米
|
|
|
+ nearbySearchOption.pageNum(page);
|
|
|
+ PoiSearch poiSearch = PoiSearch.newInstance();
|
|
|
+ poiSearch.searchNearby(nearbySearchOption);// 发起附近检索请求
|
|
|
+ poiSearch.setOnGetPoiSearchResultListener(new OnGetPoiSearchResultListener() {
|
|
|
+ @Override
|
|
|
+ public void onGetPoiResult(PoiResult poiResult) {
|
|
|
+// List<PoiAddrInfo> lis = poiResult.getAllAddr();
|
|
|
+// for (int i = 0; i < lis.size(); i++) {
|
|
|
+// Log.i("gongpengminga", lis.get(i).address);
|
|
|
+// }
|
|
|
+ if (poiResult.error != SearchResult.ERRORNO.NO_ERROR) {
|
|
|
+ Log.i("gongpengminga", "抱歉,未找到结果");
|
|
|
+
|
|
|
+ } else {
|
|
|
+ Log.i("gongpengminga", "成功,查看详情页面");
|
|
|
+ Log.i("gongpengminga",poiResult.getAllAddr()==null?"为空的": "不为空");
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onGetPoiDetailResult(PoiDetailResult poiDetailResult) {
|
|
|
+ Log.i("gongpengmingb", poiDetailResult.getAddress());
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onGetPoiIndoorResult(PoiIndoorResult poiIndoorResult) {
|
|
|
+ List<PoiIndoorInfo> list = poiIndoorResult.getmArrayPoiInfo();
|
|
|
+ for (int i = 0; i < list.size(); i++) {
|
|
|
+ Log.i("gongpengmingc", list.get(i).address);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ private void dosame() {
|
|
|
+ BdLocationHelper h = MyApplication.getInstance().getBdLocationHelper();
|
|
|
+ final LatLng geolat = new LatLng(h.getLatitude(), h.getLongitude());
|
|
|
+ ReverseGeoCodeOption option = new ReverseGeoCodeOption();
|
|
|
+ option.location(geolat);
|
|
|
+ GeoCoder coder = GeoCoder.newInstance();
|
|
|
+ coder.reverseGeoCode(option);
|
|
|
+ coder.setOnGetGeoCodeResultListener(new OnGetGeoCoderResultListener() {
|
|
|
+ @Override
|
|
|
+ public void onGetReverseGeoCodeResult(
|
|
|
+ ReverseGeoCodeResult result) {
|
|
|
+// 这个result 里面有个附近poi的列表
|
|
|
+ List<PoiInfo> lis = result.getPoiList();
|
|
|
+ for (int i = 0; i < lis.size(); i++) {
|
|
|
+ Log.i("gongpengmings", lis.get(i).address);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onGetGeoCodeResult(GeoCodeResult arg0) {
|
|
|
+ Log.i("gongpengmingss", arg0.getAddress());
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ protected void onDestroy() {
|
|
|
+ super.onDestroy();
|
|
|
+ if (mPoiSearch != null)
|
|
|
+ mPoiSearch.destroy();
|
|
|
+ }
|
|
|
+}
|