opt xx search poi

This commit is contained in:
lixiaopeng
2020-02-16 14:56:44 +08:00
parent 3d48ce12fe
commit 86161714f5
2 changed files with 121 additions and 85 deletions

View File

@@ -125,7 +125,7 @@ import static com.mogo.module.tanlu.video.VideoInitKt.initVideo;
IMogoPoiSearchListener,
IMogoLocationListener,
View.OnClickListener,
IMogoDataChangedListener {
IMogoDataChangedListener{
private static final String TAG = "TanluCardViewFragment";
SimpleCoverVideoPlayer simpleCoverVideoPlayer;
@@ -229,78 +229,78 @@ import static com.mogo.module.tanlu.video.VideoInitKt.initVideo;
mIMogoFragmentManager = (IMogoFragmentManager) ARouter.getInstance().build(MogoServicePaths.PATH_FRAGMENT_MANAGER).navigation(getContext());
mIMogoGeoSearch.setGeoSearchListener(new IMogoGeoSearchListener() {
@Override
public void onRegeocodeSearched(MogoRegeocodeResult regeocodeResult) {
Logger.d(TAG, "onRegeocodeSearched -----> ");
}
@Override
public void onGeocodeSearched(MogoGeocodeResult geocodeResult) {
Logger.d(TAG, "onGeocodeSearched ------mKeywords =" + mKeywords);
if (geocodeResult != null) {
if (geocodeResult.getAddresses() != null && geocodeResult.getAddresses().size() > 0) {
Log.d(TAG, "geocodeResult.getAddresses().size() = " + geocodeResult.getAddresses().size());
MogoGeocodeAddress geocodeAddress = geocodeResult.getAddresses().get(0);
MogoLatLng latLon = geocodeAddress.getLatlng();
Double longit; //经度
Double lat; //维度
if (mKeywords.equals("附近")) {
Logger.d(TAG, "附近 ----1---");
longit = TanluServiceHandler.getLocationClient().getLastKnowLocation().getLongitude();
lat = TanluServiceHandler.getLocationClient().getLastKnowLocation().getLatitude();
} else {
Logger.d(TAG, "其他 ---1----");
longit = latLon.lng;
lat = latLon.lat;
}
Log.d(TAG, "geoSearch keywords =" + mKeywords + ">>longitude= " + longit + "--latitude= " + lat);
getVoiceControlRoadData(mKeywords, lat, longit);
} else {
String cityCode = TanluServiceHandler.getLocationClient().getLastKnowLocation().getCityCode();
MogoPoiSearchQuery poiSearchQuery = new MogoPoiSearchQuery(mKeywords, "", cityCode);
IMogoPoiSearch poiSearch = mMogoMapService.getPoiSearch(getContext(), poiSearchQuery);
poiSearch.setPoiSearchListener(new IMogoPoiSearchListener() {
@Override
public void onPoiSearched(MogoPoiResult p0, int p1) {
if (p1 == 1000) {
if (p0.getPois() != null && p0.getPois().size() != 0) {
MogoPoiItem poi = p0.getPois().get(0);
MogoLatLng latLon = poi.getPoint();
Double longit; //经度
Double lat; //维度
if (mKeywords.equals("附近")) {
Logger.d(TAG, "附近 ----2---");
longit = TanluServiceHandler.getLocationClient().getLastKnowLocation().getLongitude();
lat = TanluServiceHandler.getLocationClient().getLastKnowLocation().getLatitude();
} else {
Logger.d(TAG, "其他 --2----");
longit = latLon.lng;
lat = latLon.lat;
}
getVoiceControlRoadData(mKeywords, lat, longit);
Log.d(TAG, "setOnPoiSearchListener keywords =" + mKeywords + ">>longitude= " + longit + "--latitude" + lat);
} else {
Logger.e(TAG, "poi == null");
}
} else {
Logger.e(TAG, "poi search result p1 = " + p1);
}
}
@Override
public void onPoiItemSearched(MogoPoiItem item, int errorCode) {
}
});
poiSearch.searchPOIAsyn();
}
} else {
Logger.e(TAG, "onGeocodeSearched -----geocodeResult == null");
speakFailVoice(searchfaileVoiceStrings[2]);
}
}
});
// mIMogoGeoSearch.setGeoSearchListener(new IMogoGeoSearchListener() {
// @Override
// public void onRegeocodeSearched(MogoRegeocodeResult regeocodeResult) {
// Logger.d(TAG, "onRegeocodeSearched -----> ");
// }
//
// @Override
// public void onGeocodeSearched(MogoGeocodeResult geocodeResult) {
// Logger.d(TAG, "onGeocodeSearched ------mKeywords =" + mKeywords);
// if (geocodeResult != null) {
// if (geocodeResult.getAddresses() != null && geocodeResult.getAddresses().size() > 0) {
// Log.d(TAG, "geocodeResult.getAddresses().size() = " + geocodeResult.getAddresses().size());
// MogoGeocodeAddress geocodeAddress = geocodeResult.getAddresses().get(0);
// MogoLatLng latLon = geocodeAddress.getLatlng();
// Double longit; //经度
// Double lat; //维度
// if (mKeywords.equals("附近")) {
// Logger.d(TAG, "附近 ----1---");
// longit = TanluServiceHandler.getLocationClient().getLastKnowLocation().getLongitude();
// lat = TanluServiceHandler.getLocationClient().getLastKnowLocation().getLatitude();
// } else {
// Logger.d(TAG, "其他 ---1----");
// longit = latLon.lng;
// lat = latLon.lat;
// }
// Log.d(TAG, "geoSearch keywords =" + mKeywords + ">>longitude= " + longit + "--latitude= " + lat);
// getVoiceControlRoadData(mKeywords, lat, longit);
// } else {
// String cityCode = TanluServiceHandler.getLocationClient().getLastKnowLocation().getCityCode();
// MogoPoiSearchQuery poiSearchQuery = new MogoPoiSearchQuery(mKeywords, "", cityCode);
// IMogoPoiSearch poiSearch = mMogoMapService.getPoiSearch(getContext(), poiSearchQuery);
// poiSearch.setPoiSearchListener(new IMogoPoiSearchListener() {
// @Override
// public void onPoiSearched(MogoPoiResult p0, int p1) {
// if (p1 == 1000) {
// if (p0.getPois() != null && p0.getPois().size() != 0) {
// MogoPoiItem poi = p0.getPois().get(0);
// MogoLatLng latLon = poi.getPoint();
// Double longit; //经度
// Double lat; //维度
// if (mKeywords.equals("附近")) {
// Logger.d(TAG, "附近 ----2---");
// longit = TanluServiceHandler.getLocationClient().getLastKnowLocation().getLongitude();
// lat = TanluServiceHandler.getLocationClient().getLastKnowLocation().getLatitude();
// } else {
// Logger.d(TAG, "其他 --2----");
// longit = latLon.lng;
// lat = latLon.lat;
// }
// getVoiceControlRoadData(mKeywords, lat, longit);
// Log.d(TAG, "setOnPoiSearchListener keywords =" + mKeywords + ">>longitude= " + longit + "--latitude" + lat);
// } else {
// Logger.e(TAG, "poi == null");
// }
// } else {
// Logger.e(TAG, "poi search result p1 = " + p1);
// }
// }
//
// @Override
// public void onPoiItemSearched(MogoPoiItem item, int errorCode) {
//
// }
// });
// poiSearch.searchPOIAsyn();
// }
// } else {
// Logger.e(TAG, "onGeocodeSearched -----geocodeResult == null");
// speakFailVoice(searchfaileVoiceStrings[2]);
// }
// }
// });
DataSetChangedAdapter.getInstance().setDelegate( this );
}
@@ -406,19 +406,26 @@ import static com.mogo.module.tanlu.video.VideoInitKt.initVideo;
/**
* 处理关键词搜索
* 处理关键词搜索 TODO
*
* @return
*/
private void handleActionFoo(String keywords) {
speakSearchingVoice();
MogoGeocodeQuery geocodeQuery;
String cityCode = TanluServiceHandler.getLocationClient().getLastKnowLocation().getCityCode();
// speakSearchingVoice();
// MogoGeocodeQuery geocodeQuery;
// String cityCode = TanluServiceHandler.getLocationClient().getLastKnowLocation().getCityCode();
//
// geocodeQuery = new MogoGeocodeQuery();
// geocodeQuery.setLocationName(keywords);
// geocodeQuery.setCity(cityCode);
// mIMogoGeoSearch.getFromLocationNameAsyn(geocodeQuery);
geocodeQuery = new MogoGeocodeQuery();
geocodeQuery.setLocationName(keywords);
geocodeQuery.setCity(cityCode);
mIMogoGeoSearch.getFromLocationNameAsyn(geocodeQuery);
String cityCode = TanluServiceHandler.getLocationClient().getLastKnowLocation().getCityCode();
MogoPoiSearchQuery poiSearchQuery = new MogoPoiSearchQuery(keywords, "", cityCode);
IMogoPoiSearch poiSearch = mMogoMapService.getPoiSearch(getContext(), poiSearchQuery);
poiSearch.setPoiSearchListener(this);
poiSearch.searchPOIAsyn();
}
/**
@@ -883,9 +890,38 @@ import static com.mogo.module.tanlu.video.VideoInitKt.initVideo;
}
}
/**
* poi
* @param p0
* @param p1
*/
@Override
public void onPoiSearched(MogoPoiResult result, int errorCode) {
public void onPoiSearched(MogoPoiResult p0, int p1) {
if (p1 == 1000) {
if (p0.getPois() != null && p0.getPois().size() != 0) {
MogoPoiItem poi = p0.getPois().get(0);
MogoLatLng latLon = poi.getPoint();
Double longit; //经度
Double lat; //维度
if (mKeywords.equals("附近")) {
Logger.d(TAG, "附近 ----2---");
longit = TanluServiceHandler.getLocationClient().getLastKnowLocation().getLongitude();
lat = TanluServiceHandler.getLocationClient().getLastKnowLocation().getLatitude();
} else {
Logger.d(TAG, "其他 --2----");
longit = latLon.lng;
lat = latLon.lat;
}
getVoiceControlRoadData(mKeywords, lat, longit);
Log.d(TAG, "setOnPoiSearchListener keywords =" + mKeywords + ">>longitude= " + longit + "--latitude" + lat);
} else {
Logger.e(TAG, "poi == null");
speakFailVoice(searchfaileVoiceStrings[2]);
}
} else {
Logger.e(TAG, "poi search result p1 = " + p1);
speakFailVoice(searchfaileVoiceStrings[2]);
}
}
@Override