package com.baidu.mapapi.utils.poi; import android.content.Context; import android.content.Intent; import android.net.Uri; import android.util.Log; import com.baidu.mapapi.utils.OpenClientUtil; import com.baidu.mapapi.utils.c; import com.baidu.mapapi.utils.route.BaiduMapRoutePlan; public class BaiduMapPoiSearch { private static boolean a = true; private static void a(PoiParaOption poiParaOption, Context context) { Uri parse = Uri.parse("http://api.map.baidu.com/place/detail?" + "uid=" + poiParaOption.a + "&output=html" + "&src=" + context.getPackageName()); Intent intent = new Intent(); intent.setAction("android.intent.action.VIEW"); intent.setFlags(268435456); intent.setData(parse); context.startActivity(intent); } private static void b(PoiParaOption poiParaOption, Context context) { Uri parse = Uri.parse("http://api.map.baidu.com/place/search?" + "query=" + poiParaOption.b + "&location=" + poiParaOption.c.latitude + "," + poiParaOption.c.longitude + "&radius=" + poiParaOption.d + "&output=html" + "&src=" + context.getPackageName()); Intent intent = new Intent(); intent.setAction("android.intent.action.VIEW"); intent.setFlags(268435456); intent.setData(parse); context.startActivity(intent); } public static void finish(Context context) { if (context != null) { c.a(context); } } public static boolean openBaiduMapPoiDetialsPage(PoiParaOption poiParaOption, Context context) { if (poiParaOption == null || context == null) { throw new IllegalPoiSearchArgumentException("para or context can not be null."); } else if (poiParaOption.a == null) { throw new IllegalPoiSearchArgumentException("poi uid can not be null."); } else if (poiParaOption.a.equals("")) { Log.e(BaiduMapRoutePlan.class.getName(), "poi uid can not be empty string"); return false; } else { int baiduMapVersion = OpenClientUtil.getBaiduMapVersion(context); if (baiduMapVersion == 0) { Log.e("baidumapsdk", "BaiduMap app is not installed."); if (a) { a(poiParaOption, context); return true; } throw new IllegalPoiSearchArgumentException("BaiduMap app is not installed."); } else if (baiduMapVersion >= 810) { return c.a(poiParaOption, context, 3); } else { Log.e("baidumapsdk", "Baidumap app version is too lowl.Version is greater than 8.1"); if (a) { a(poiParaOption, context); return true; } throw new IllegalPoiSearchArgumentException("Baidumap app version is too lowl.Version is greater than 8.1"); } } } public static boolean openBaiduMapPoiNearbySearch(PoiParaOption poiParaOption, Context context) { if (poiParaOption == null || context == null) { throw new IllegalPoiSearchArgumentException("para or context can not be null."); } else if (poiParaOption.b == null) { throw new IllegalPoiSearchArgumentException("poi search key can not be null."); } else if (poiParaOption.c == null) { throw new IllegalPoiSearchArgumentException("poi search center can not be null."); } else if (poiParaOption.c.longitude == 0.0d || poiParaOption.c.latitude == 0.0d) { throw new IllegalPoiSearchArgumentException("poi search center longitude or latitude can not be 0."); } else if (poiParaOption.d == 0) { throw new IllegalPoiSearchArgumentException("poi search radius larger than 0."); } else if (poiParaOption.b.equals("")) { Log.e(BaiduMapRoutePlan.class.getName(), "poi key can not be empty string"); return false; } else { int baiduMapVersion = OpenClientUtil.getBaiduMapVersion(context); if (baiduMapVersion == 0) { Log.e("baidumapsdk", "BaiduMap app is not installed."); if (a) { b(poiParaOption, context); return true; } throw new IllegalPoiSearchArgumentException("BaiduMap app is not installed."); } else if (baiduMapVersion >= 810) { return c.a(poiParaOption, context, 4); } else { Log.e("baidumapsdk", "Baidumap app version is too lowl.Version is greater than 8.1"); if (a) { b(poiParaOption, context); return true; } throw new IllegalPoiSearchArgumentException("Baidumap app version is too lowl.Version is greater than 8.1"); } } } public static void setSupportWebPoi(boolean z) { a = z; } }