Android天地图常用工具

/**
 * 天地图工具
 */
public class SkyLandMap {

    /**
     * 设置中心点
     *
     * @param context 上下文对象
     * @param mapView 地图对象
     * @param point   GeoPoint point = new GeoPoint((int) (29.540659410147214 * 1E6), (int) (106.55687441905739 * 1E6));
     * @param ico     图标
     */
    public static void showCenter(Context context, MapView mapView, GeoPoint point, @DrawableRes int ico) {
        //天机覆盖物
        addMarkerOverlay(context, mapView, point, ico);
        //设置地图中心点
        mapView.getController().setCenter(point);
    }

    /**
     * 添加标记
     *
     * @param context  上下文对象
     * @param mapView  地图对象
     * @param geoPoint 座标点
     * @param ico
     */
    public static void addMarkerOverlay(Context context, MapView mapView, GeoPoint geoPoint, @DrawableRes int ico) {
        addMarkerOverlay(context, mapView, geoPoint, ico, null);
    }

    /**
     * 添加标记
     *
     * @param geoPoint 地理座标
     * @param ico      图标
     */
    public static void addMarkerOverlay(Context context, MapView mapView, GeoPoint geoPoint, @DrawableRes int ico, MarkerOverlay.OnMarkerClickListener listener) {
        MarkerOverlay markerOverlay = new MarkerOverlay();
        markerOverlay.setClickListener(listener);
        markerOverlay.setIcon(context.getResources().getDrawable(ico));
        markerOverlay.setPosition(geoPoint);
        mapView.addOverlay(markerOverlay);
    }

    /**
     * 地理反编码
     *
     * @param geoPoint 座标
     * @param listener 监听
     */
    public static void geoDecode(GeoPoint geoPoint, TGeoDecode.OnGeoResultListener listener) {
        TGeoDecode tGeoDecode = new TGeoDecode(listener);
        tGeoDecode.search(geoPoint);
    }

    /**
     * 搜索座标获取地址
     *
     * @param geoPoint 座标点
     * @param listener 监听
     */
    public static void searchGeoPoint(GeoPoint geoPoint, TGeoDecode.OnGeoResultListener listener) {
        TGeoDecode tGeoDecode = new TGeoDecode(listener);
        tGeoDecode.search(geoPoint);
    }


}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章