[dev_arch_opt_3.0]

[Change]
[1、移除废弃geo search]

Signed-off-by: donghongyu <donghongyu@zhidaoauto.com>
This commit is contained in:
donghongyu
2023-01-06 14:22:31 +08:00
parent b96577811f
commit 40e272cb0b
11 changed files with 1 additions and 408 deletions

View File

@@ -8,9 +8,6 @@ import com.mogo.map.location.IMogoGDLocationClient;
import com.mogo.map.location.IMogoLocationClient;
import com.mogo.map.marker.IMogoMarkerManager;
import com.mogo.map.overlay.IMogoOverlayManager;
import com.mogo.map.search.geo.IMogoGeoSearch;
import com.mogo.map.search.poisearch.IMogoPoiSearch;
import com.mogo.map.search.poisearch.query.MogoPoiSearchQuery;
import com.mogo.map.uicontroller.IMogoMapUIController;
/**

View File

@@ -4,21 +4,17 @@ import android.content.Context;
import com.alibaba.android.arouter.facade.template.IProvider;
import com.mogo.map.location.IMogoLocationClient;
import com.mogo.map.search.geo.IMogoGeoSearch;
import com.mogo.map.search.poisearch.IMogoPoiSearch;
import com.mogo.map.search.poisearch.query.MogoPoiSearchQuery;
import com.mogo.map.uicontroller.IMogoMapUIController;
public
/**
* @author congtaowang
* @since 2020/12/9
*
* 地图实例构建
*/
interface IMogoMapApiBuilder extends IProvider {
IMogoGeoSearch getGeoSearch( Context context );
public interface IMogoMapApiBuilder extends IProvider {
IMogoLocationClient getLocationClient( Context context );

View File

@@ -1,58 +0,0 @@
package com.mogo.map.search.geo;
import com.mogo.map.IDestroyable;
import com.mogo.map.exception.MogoMapException;
import com.mogo.map.search.geo.query.MogoGeocodeQuery;
import com.mogo.map.search.geo.query.MogoRegeocodeQuery;
import java.util.List;
/**
* @author congtaowang
* @since 2019-12-19
* <p>
* 地理/逆地理位置搜索
*/
public interface IMogoGeoSearch extends IDestroyable {
/**
* 添加异步编码回调
*
* @param listener
*/
void setGeoSearchListener( IMogoGeoSearchListener listener );
/**
* 同步获取逆地理编码地址
*
* @param query
* @return
* @throws MogoMapException
*/
@Deprecated
MogoRegeocodeAddress getFromLocation( MogoRegeocodeQuery query ) throws MogoMapException;
/**
* 同步获取地理编码地址列表
*
* @param query
* @return
* @throws MogoMapException
*/
@Deprecated
List< MogoGeocodeAddress > getFromLocationName( MogoGeocodeQuery query ) throws MogoMapException;
/**
* 异步获取逆地理编码
*
* @param query
*/
void getFromLocationAsyn( MogoRegeocodeQuery query );
/**
* 同步获取地理编码回调
*
* @param query
*/
void getFromLocationNameAsyn( MogoGeocodeQuery query );
}

View File

@@ -1,24 +0,0 @@
package com.mogo.map.search.geo;
/**
* @author congtaowang
* @since 2019-12-19
* <p>
* 逆地理/地理编码回调
*/
public interface IMogoGeoSearchListener {
/**
* 逆地理编码(根据经纬度获取地理位置信息)
*
* @param regeocodeResult
*/
default void onRegeocodeSearched( MogoRegeocodeResult regeocodeResult ){}
/**
* 根据名称和城市获取地理位置信息
*
* @param geocodeResult
*/
default void onGeocodeSearched( MogoGeocodeResult geocodeResult ){}
}

View File

@@ -1,14 +0,0 @@
package com.mogo.map.search.inputtips;
import java.util.List;
/**
* @author congtaowang
* @since 2019-12-20
* <p>
* 描述
*/
public interface IMogoInputtipsListener {
void onGetInputtips( List< MogoTip > result );
}

View File

@@ -1,23 +0,0 @@
package com.mogo.map.search.inputtips;
import com.mogo.map.IDestroyable;
import com.mogo.map.exception.MogoMapException;
import com.mogo.map.search.inputtips.query.MogoInputtipsQuery;
import java.util.List;
/**
* @author congtaowang
* @since 2019-12-20
* <p>
* 描述
*/
public interface IMogoInputtipsSearch extends IDestroyable {
void setQuery( MogoInputtipsQuery query );
void setInputtipsListener( IMogoInputtipsListener listener );
void requestInputtipsAsyn();
}

View File

@@ -6,9 +6,7 @@ import com.alibaba.android.arouter.facade.annotation.Route;
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
import com.mogo.map.location.ALocationClient;
import com.mogo.map.location.IMogoLocationClient;
import com.mogo.map.search.GeocodeSearchClient;
import com.mogo.map.search.PoiSearchClient;
import com.mogo.map.search.geo.IMogoGeoSearch;
import com.mogo.map.search.poisearch.IMogoPoiSearch;
import com.mogo.map.search.poisearch.query.MogoPoiSearchQuery;
import com.mogo.map.uicontroller.AMapUIController;
@@ -26,11 +24,6 @@ public class CustomMapApiBuilder implements IMogoMapApiBuilder {
private static final String TAG = "CustomMapApiBuilder";
@Override
public IMogoGeoSearch getGeoSearch(Context context) {
return new GeocodeSearchClient(context);
}
@Override
public IMogoLocationClient getLocationClient(Context context) {
return new ALocationClient(context);

View File

@@ -1,73 +0,0 @@
package com.mogo.map;
import android.content.Context;
import com.mogo.map.exception.MogoMapException;
import com.mogo.map.search.geo.IMogoGeoSearch;
import com.mogo.map.search.geo.IMogoGeoSearchListener;
import com.mogo.map.search.geo.MogoGeocodeAddress;
import com.mogo.map.search.geo.MogoRegeocodeAddress;
import com.mogo.map.search.geo.query.MogoGeocodeQuery;
import com.mogo.map.search.geo.query.MogoRegeocodeQuery;
import java.util.List;
/**
* @author congtaowang
* @since 2019-12-19
* <p>
* 地理/逆地理位置搜索
*/
public class MogoGeoSearch implements IMogoGeoSearch {
private IMogoGeoSearch mDelegate;
public MogoGeoSearch( Context context ) {
mDelegate = MogoMapDelegateFactory.getGeoSearchDelegate( context );
}
@Override
public void setGeoSearchListener( IMogoGeoSearchListener listener ) {
if ( mDelegate != null ) {
mDelegate.setGeoSearchListener( listener );
}
}
@Override
public MogoRegeocodeAddress getFromLocation( MogoRegeocodeQuery query ) throws MogoMapException {
if ( mDelegate != null ) {
return mDelegate.getFromLocation( query );
}
return null;
}
@Override
public List< MogoGeocodeAddress > getFromLocationName( MogoGeocodeQuery query ) throws MogoMapException {
if ( mDelegate != null ) {
return mDelegate.getFromLocationName( query );
}
return null;
}
@Override
public void getFromLocationAsyn( MogoRegeocodeQuery query ) {
if ( mDelegate != null ) {
mDelegate.getFromLocationAsyn( query );
}
}
@Override
public void getFromLocationNameAsyn( MogoGeocodeQuery query ) {
if ( mDelegate != null ) {
mDelegate.getFromLocationNameAsyn( query );
}
}
@Override
public void destroy() {
if ( mDelegate != null ) {
mDelegate.destroy();
}
mDelegate = null;
}
}

View File

@@ -4,7 +4,6 @@ import android.content.Context;
import com.alibaba.android.arouter.launcher.ARouter;
import com.mogo.map.location.IMogoLocationClient;
import com.mogo.map.search.geo.IMogoGeoSearch;
import com.mogo.map.search.poisearch.IMogoPoiSearch;
import com.mogo.map.search.poisearch.query.MogoPoiSearchQuery;
import com.mogo.map.uicontroller.IMogoMapUIController;
@@ -33,10 +32,6 @@ class MogoMapDelegateFactory {
return sApiBuilder;
}
public static IMogoGeoSearch getGeoSearchDelegate(Context context) {
return getApiBuilder().getGeoSearch(context);
}
public static IMogoLocationClient getLocationClientDelegate(Context context) {
return getApiBuilder().getLocationClient(context);
}

View File

@@ -1,109 +0,0 @@
package com.mogo.map.search;
import android.content.Context;
import com.mogo.map.exception.MogoMapException;
import com.mogo.map.search.geo.IMogoGeoSearch;
import com.mogo.map.search.geo.IMogoGeoSearchListener;
import com.mogo.map.search.geo.MogoGeocodeAddress;
import com.mogo.map.search.geo.MogoRegeocodeAddress;
import com.mogo.map.search.geo.query.MogoGeocodeQuery;
import com.mogo.map.search.geo.query.MogoRegeocodeQuery;
import com.mogo.map.utils.ObjectUtils;
import com.zhidaoauto.map.sdk.open.query.GeocodeAddress;
import com.zhidaoauto.map.sdk.open.query.GeocodeResult;
import com.zhidaoauto.map.sdk.open.query.GeocodeSearch;
import com.zhidaoauto.map.sdk.open.query.OnGeocodeSearchListener;
import com.zhidaoauto.map.sdk.open.query.RegeocodeAddress;
import com.zhidaoauto.map.sdk.open.query.RegeocodeResult;
import com.zhidaoauto.map.sdk.open.query.RegeocodeQuery;
import java.util.ArrayList;
import java.util.List;
/**
* @author congtaowang
* @since 2019-12-19
* <p>
* 地理编码/逆地理编码自研实现
*/
public class GeocodeSearchClient implements IMogoGeoSearch, OnGeocodeSearchListener {
private GeocodeSearch mClient;
private IMogoGeoSearchListener mListener;
public GeocodeSearchClient( Context context ) {
mClient = new GeocodeSearch( context );
mClient.setOnGeocodeSearchListener( this );
}
@Override
public void setGeoSearchListener( IMogoGeoSearchListener listener ) {
mListener = listener;
}
@Override
public MogoRegeocodeAddress getFromLocation( MogoRegeocodeQuery query ) throws MogoMapException {
try {
RegeocodeQuery regeocodeQuery = ObjectUtils.fromMogo(query);
RegeocodeAddress regeocodeAddress = mClient.getFromLocation(regeocodeQuery);
return ObjectUtils.fromAMap( regeocodeAddress );
} catch ( Exception e ) {
throw new MogoMapException( e );
}
}
@Override
public List< MogoGeocodeAddress > getFromLocationName( MogoGeocodeQuery query ) throws MogoMapException {
try {
List<GeocodeAddress> geocodeAddress = mClient.getFromLocationName( ObjectUtils.fromMogo( query ) );
if ( geocodeAddress != null ) {
List< MogoGeocodeAddress > mogoGeocodeAddresses = new ArrayList<>();
for ( GeocodeAddress address : geocodeAddress ) {
MogoGeocodeAddress mogoGeocodeAddress = ObjectUtils.fromAMap( address );
if ( mogoGeocodeAddress != null ) {
mogoGeocodeAddresses.add( mogoGeocodeAddress );
}
}
return mogoGeocodeAddresses;
}
return new ArrayList<>();
} catch ( Exception e ) {
throw new MogoMapException( e );
}
}
@Override
public void getFromLocationAsyn( MogoRegeocodeQuery query ) {
if ( mClient != null ) {
mClient.getFromLocationAsyn( ObjectUtils.fromMogo( query ) );
}
}
@Override
public void getFromLocationNameAsyn( MogoGeocodeQuery query ) {
if ( mClient != null ) {
mClient.getFromLocationNameAsyn( ObjectUtils.fromMogo( query ) );
}
}
@Override
public void onRegeocodeSearched(RegeocodeResult regeocodeResult, int i ) {
if ( mListener != null ) {
mListener.onRegeocodeSearched( ObjectUtils.fromAMap( regeocodeResult ) );
}
}
@Override
public void onGeocodeSearched(GeocodeResult geocodeResult, int i ) {
if ( mListener != null ) {
mListener.onGeocodeSearched( ObjectUtils.fromAMap( geocodeResult ) );
}
}
@Override
public void destroy() {
mClient = null;
mListener = null;
}
}

View File

@@ -1,87 +0,0 @@
package com.mogo.map.search;
import android.content.Context;
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
import com.mogo.map.search.inputtips.IMogoInputtipsListener;
import com.mogo.map.search.inputtips.IMogoInputtipsSearch;
import com.mogo.map.search.inputtips.MogoTip;
import com.mogo.map.search.inputtips.query.MogoInputtipsQuery;
import com.mogo.map.utils.ObjectUtils;
import com.zhidaoauto.map.sdk.open.query.Inputtips;
import com.zhidaoauto.map.sdk.open.query.InputtipsListener;
import com.zhidaoauto.map.sdk.open.query.InputtipsQuery;
import com.zhidaoauto.map.sdk.open.query.Tip;
import java.util.ArrayList;
import java.util.List;
/**
* @author congtaowang
* @since 2019-12-20
* <p>
* 自研地图 inputtips搜索实现
*/
public class InputtipsSearch implements IMogoInputtipsSearch, InputtipsListener {
private static final String TAG = "InputtipsSearch";
private Inputtips mClient;
private InputtipsQuery mQuery;
private IMogoInputtipsListener mListener;
public InputtipsSearch(Context context, MogoInputtipsQuery query) {
mQuery = ObjectUtils.fromMogo(query);
mClient = new Inputtips(context, mQuery);
mClient.setInputtipsListener(this);
}
@Override
public void setQuery(MogoInputtipsQuery query) {
this.mQuery = ObjectUtils.fromMogo(query);
}
@Override
public void setInputtipsListener(IMogoInputtipsListener listener) {
this.mListener = listener;
}
@Override
public void requestInputtipsAsyn() {
if (mClient != null) {
mClient.requestInputtipsAsyn();
}
}
@Override
public void onGetInputtips(List list, int i) {
if (i == 0) {
if (mListener != null) {
mListener.onGetInputtips(getResult(list));
}
} else {
CallerLogger.INSTANCE.e(TAG, "errorcode = " + i);
}
}
private List<MogoTip> getResult(List<Tip> tips) {
List<MogoTip> mogoTips = new ArrayList<>();
if (tips != null) {
//只添加有坐标的结果
for (Tip tip : tips) {
MogoTip mogoTip = ObjectUtils.fromAMap(tip);
if (mogoTip != null && mogoTip.getPoint() != null) {
mogoTips.add(mogoTip);
}
}
}
return mogoTips;
}
@Override
public void destroy() {
mClient = null;
mListener = null;
mQuery = null;
}
}