AMapUtils

来源:互联网 发布:c语言生成exe文件 编辑:程序博客网 时间:2024/06/07 09:10
//// Source code recreated from a .class file by IntelliJ IDEA// (powered by Fernflower decompiler)//package com.amap.api.maps;import android.content.Context;import android.content.Intent;import android.content.pm.PackageInfo;import android.content.pm.PackageManager.NameNotFoundException;import android.net.Uri;import com.amap.api.mapcore.util.ex;import com.amap.api.mapcore.util.ey;import com.amap.api.mapcore.util.fa;import com.amap.api.mapcore.util.fh;import com.amap.api.mapcore.util.g;import com.amap.api.maps.AMapException;import com.amap.api.maps.model.LatLng;import com.amap.api.maps.model.NaviPara;import com.amap.api.maps.model.PoiPara;import com.amap.api.maps.model.RoutePara;public class AMapUtils {    public static final int DRIVING_DEFAULT = 0;    public static final int DRIVING_SAVE_MONEY = 1;    public static final int DRIVING_SHORT_DISTANCE = 2;    public static final int DRIVING_NO_HIGHWAY = 3;    public static final int DRIVING_AVOID_CONGESTION = 4;    public static final int DRIVING_NO_HIGHWAY_AVOID_SHORT_MONEY = 5;    public static final int DRIVING_NO_HIGHWAY_AVOID_CONGESTION = 6;    public static final int DRIVING_SAVE_MONEY_AVOID_CONGESTION = 7;    public static final int DRIVING_NO_HIGHWAY_SAVE_MONEY_AVOID_CONGESTION = 8;    public static final int BUS_TIME_FIRST = 0;    public static final int BUS_MONEY_LITTLE = 1;    public static final int BUS_TRANSFER_LITTLE = 2;    public static final int BUS_WALK_LITTLE = 3;    public static final int BUS_COMFORT = 4;    public static final int BUS_NO_SUBWAY = 5;    public AMapUtils() {    }    public static float calculateLineDistance(LatLng var0, LatLng var1) {        if(var0 != null && var1 != null) {            double var2 = 0.01745329251994329D;            double var4 = var0.longitude;            double var6 = var0.latitude;            double var8 = var1.longitude;            double var10 = var1.latitude;            var4 *= 0.01745329251994329D;            var6 *= 0.01745329251994329D;            var8 *= 0.01745329251994329D;            var10 *= 0.01745329251994329D;            double var12 = Math.sin(var4);            double var14 = Math.sin(var6);            double var16 = Math.cos(var4);            double var18 = Math.cos(var6);            double var20 = Math.sin(var8);            double var22 = Math.sin(var10);            double var24 = Math.cos(var8);            double var26 = Math.cos(var10);            double[] var28 = new double[3];            double[] var29 = new double[3];            var28[0] = var18 * var16;            var28[1] = var18 * var12;            var28[2] = var14;            var29[0] = var26 * var24;            var29[1] = var26 * var20;            var29[2] = var22;            double var30 = Math.sqrt((var28[0] - var29[0]) * (var28[0] - var29[0]) + (var28[1] - var29[1]) * (var28[1] - var29[1]) + (var28[2] - var29[2]) * (var28[2] - var29[2]));            return (float)(Math.asin(var30 / 2.0D) * 1.27420015798544E7D);        } else {            try {                throw new AMapException("非法坐标值");            } catch (AMapException var32) {                var32.printStackTrace();                return 0.0F;            }        }    }    public static float calculateArea(LatLng var0, LatLng var1) {        if(var0 != null && var1 != null) {            double var2 = 6378137.0D;            double var4 = Math.sin(var0.latitude * 3.141592653589793D / 180.0D) - Math.sin(var1.latitude * 3.141592653589793D / 180.0D);            double var6 = (var1.longitude - var0.longitude) / 360.0D;            if(var6 < 0.0D) {                ++var6;            }            return (float)(6.283185307179586D * var2 * var2 * var4 * var6);        } else {            try {                throw new AMapException("非法坐标值");            } catch (AMapException var8) {                var8.printStackTrace();                return 0.0F;            }        }    }    public static void getLatestAMapApp(Context var0) {        try {            String var1 = "http://wap.amap.com/";            Intent var2 = new Intent("android.intent.action.VIEW");            var2.addFlags(276824064);            var2.addCategory("android.intent.category.DEFAULT");            var2.setData(Uri.parse(var1));            AMapUtils.a var3 = new AMapUtils.a("glaa", var0);            var3.start();            var0.startActivity(var2);        } catch (Throwable var4) {            var4.printStackTrace();        }    }    public static void openAMapNavi(NaviPara var0, Context var1) throws AMapException {        if(a(var1)) {            if(var0.getTargetPoint() != null) {                try {                    Intent var2 = new Intent("android.intent.action.VIEW");                    var2.addFlags(276824064);                    var2.addCategory("android.intent.category.DEFAULT");                    var2.setData(Uri.parse(a(var0, var1)));                    var2.setPackage("com.autonavi.minimap");                    AMapUtils.a var3 = new AMapUtils.a("oan", var1);                    var3.start();                    var1.startActivity(var2);                } catch (Throwable var4) {                    throw new AMapException("移动设备上未安装高德地图或高德地图版本较旧");                }            } else {                throw new AMapException("非法参数");            }        } else {            throw new AMapException("移动设备上未安装高德地图或高德地图版本较旧");        }    }    public static void openAMapPoiNearbySearch(PoiPara var0, Context var1) throws AMapException {        if(a(var1)) {            if(var0.getKeywords() != null && var0.getKeywords().trim().length() > 0) {                try {                    Intent var2 = new Intent("android.intent.action.VIEW");                    var2.addFlags(276824064);                    var2.addCategory("android.intent.category.DEFAULT");                    var2.setData(Uri.parse(a(var0, var1)));                    var2.setPackage("com.autonavi.minimap");                    AMapUtils.a var3 = new AMapUtils.a("oan", var1);                    var3.start();                    var1.startActivity(var2);                } catch (Throwable var4) {                    throw new AMapException("移动设备上未安装高德地图或高德地图版本较旧");                }            } else {                throw new AMapException("非法参数");            }        } else {            throw new AMapException("移动设备上未安装高德地图或高德地图版本较旧");        }    }    public static void openAMapDrivingRoute(RoutePara var0, Context var1) throws AMapException {        a(var0, var1, 2);    }    public static void openAMapTransitRoute(RoutePara var0, Context var1) throws AMapException {        a(var0, var1, 1);    }    public static void openAMapWalkingRoute(RoutePara var0, Context var1) throws AMapException {        a(var0, var1, 4);    }    private static void a(RoutePara var0, Context var1, int var2) throws AMapException {        if(a(var1)) {            if(a(var0)) {                try {                    Intent var3 = new Intent("android.intent.action.VIEW");                    var3.addFlags(276824064);                    var3.addCategory("android.intent.category.DEFAULT");                    var3.setData(Uri.parse(b(var0, var1, var2)));                    var3.setPackage("com.autonavi.minimap");                    AMapUtils.a var4 = new AMapUtils.a("oan", var1);                    var4.start();                    var1.startActivity(var3);                } catch (Throwable var5) {                    throw new AMapException("移动设备上未安装高德地图或高德地图版本较旧");                }            } else {                throw new AMapException("非法参数");            }        } else {            throw new AMapException("移动设备上未安装高德地图或高德地图版本较旧");        }    }    private static boolean a(RoutePara var0) {        return var0.getStartPoint() != null && var0.getEndPoint() != null && var0.getStartName() != null && var0.getStartName().trim().length() > 0 && var0.getEndName() != null && var0.getEndName().trim().length() > 0;    }    private static String a(NaviPara var0, Context var1) {        return String.format("androidamap://navi?sourceApplication=%s&lat=%f&lon=%f&dev=0&style=%d", new Object[]{ey.b(var1), Double.valueOf(var0.getTargetPoint().latitude), Double.valueOf(var0.getTargetPoint().longitude), Integer.valueOf(var0.getNaviStyle())});    }    private static String b(RoutePara var0, Context var1, int var2) {        String var3 = String.format("androidamap://route?sourceApplication=%s&slat=%f&slon=%f&sname=%s&dlat=%f&dlon=%f&dname=%s&dev=0&t=%d", new Object[]{ey.b(var1), Double.valueOf(var0.getStartPoint().latitude), Double.valueOf(var0.getStartPoint().longitude), var0.getStartName(), Double.valueOf(var0.getEndPoint().latitude), Double.valueOf(var0.getEndPoint().longitude), var0.getEndName(), Integer.valueOf(var2)});        if(var2 == 1) {            var3 = var3 + "&m=" + var0.getTransitRouteStyle();        } else if(var2 == 2) {            var3 = var3 + "&m=" + var0.getDrivingRouteStyle();        }        return var3;    }    private static String a(PoiPara var0, Context var1) {        String var2 = String.format("androidamap://arroundpoi?sourceApplication=%s&keywords=%s&dev=0", new Object[]{ey.b(var1), var0.getKeywords()});        if(var0.getCenter() != null) {            var2 = var2 + "&lat=" + var0.getCenter().latitude + "&lon=" + var0.getCenter().longitude;        }        return var2;    }    private static boolean a(Context var0) {        PackageInfo var1 = null;        try {            var1 = var0.getPackageManager().getPackageInfo("com.autonavi.minimap", 0);        } catch (NameNotFoundException var3) {            var1 = null;            return false;        }        return var1 != null;    }    static class a extends Thread {        String a = "";        Context b;        public a(String var1, Context var2) {            this.a = var1;            if(var2 != null) {                this.b = var2.getApplicationContext();            }        }        public void run() {            if(this.b != null) {                try {                    fh var1 = (new com.amap.api.mapcore.util.fh.a(this.a, "4.1.2", g.d)).a(new String[]{"com.amap.api.maps"}).a();                    fa.a(this.b, var1);                    this.interrupt();                } catch (ex var2) {                    var2.printStackTrace();                }            }        }    }}
0 0
原创粉丝点击