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