android 打开地图选项,Android 打开地图App 和 网页版地图

URI 拼写:

public class StringUtil {

/**

* Check if the string is empty

*

* @param input string to be checked

* @return true if input is not null and length>0, otherwise false

*/

public static boolean isEmpty(String input) {

return input == null || input.length() == 0;

}

/**

* 打开地图App 有经纬度

* @param lat

* @param lng

* @param addr

* @return

*/

public static String getAddressDetailUrl(String lat, String lng, String addr) {

String strUrl = "geo:%1$s,%2$s?q=%3$s";

return String.format(strUrl, lat, lng ,addr);

}

/**

* 打开地图App 只有地址信息

* @param addr

* @return

*/

public static String getAddressUrl(String addr) {

String strUrl = "geo:q=%1$s";

return String.format(strUrl,addr);

}

/**

* 网页版地图 有经纬度

* @param lat

* @param lng

* @param addr

* @return

*/

public static String getHtmlAddressDetailUrl(String lat, String lng, String addr) {

String strUrl = "http://api.map.baidu.com/marker?location=%1$s,%2$s&title=%3$s&content=%4$s&output=html";

return String.format(strUrl, lat, lng, addr ,addr);

}

/**

* 网页版地图 只有地址

* @param addr

* @return

*/

public static String getHtmlAddressUrl(String addr) {

String strUrl = "http://api.map.baidu.com/geocoder?address=%1$s&output=html";

return String.format(strUrl,addr);

}

}

地图跳转:

public void map(View view){

String mAddress = "鼓楼大街" ;

String mLatitude = "39.948976";

String mLongitude = "116.393599";

Uri mapUri = null;

if (!StringUtil.isEmpty(mAddress)){

try {

/**

* 有地图软件

*/

if (StringUtil.isEmpty(mLatitude) || StringUtil.isEmpty(mLongitude)){

mapUri = Uri.parse(StringUtil.getAddressUrl(mAddress));

}else{

mapUri = Uri.parse(StringUtil.getAddressDetailUrl(mLatitude + "",mLongitude+ "",mAddress));

}

Intent loction = new Intent(Intent.ACTION_VIEW, mapUri);

startActivity(loction);

} catch (ActivityNotFoundException e){

/**

* 没有安装地图软件 会报错 此时打开网页版地图

*/

Toast.makeText(this, "ActivityNotFoundException", Toast.LENGTH_SHORT).show();

if (StringUtil.isEmpty(mLatitude) || StringUtil.isEmpty(mLongitude)){

mapUri = Uri.parse(StringUtil.getHtmlAddressUrl(mAddress));

}else{

mapUri = Uri.parse(StringUtil.getHtmlAddressDetailUrl(mLatitude+ "",mLongitude+ "",mAddress));

}

Intent loction = new Intent(Intent.ACTION_VIEW, mapUri);

startActivity(loction);

} catch (Exception e){

Toast.makeText(this, "异常", Toast.LENGTH_SHORT).show();

}

}else{

Toast.makeText(this, "地址为空", Toast.LENGTH_SHORT).show();

}

}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值