首先,什么是短链分享?这里引用百度地图官方的说明:

什么是位置短地址分享

位置短地址分享(简称短串分享),是指用户检索得到的每一个地理位置都会对应一条短链接,通过短信、邮件或第三方分享组件,用户可以将该地理信息短链接分享出去,从而实现对地理位置信息的分享。其他用户点击收到的短链接即可调启百度地图客户端或浏览器查看该地理信息。

例如:当用户检索“百度大厦”后会得到短串“http://j.map.baidu.com/BkmBk” ,通过短信将该短串分享后,收到短信的用户点击该链接即可调启百度地图客户端或者浏览器查看“百度大厦”的地理位置信息。

短串分享功能目前开放了“POI检索结果分享”、“路线规划短串分享(驾车、公交、骑行、步行)和“逆地理编码结果分享“等。

大概的意思就是将当前位置信息生成一个短链的形式,可以把这个短链通过微信、QQ、短信等方式分享给朋友,朋友点击链接后会打开浏览器显示你分享的位置。在文章后面可以看到效果图。说了这么多,来看看怎么用吧!

这里来一个官方链接:androidsdk | 百度地图API SDK

第一,先在你的项目中定义一个私有的ShareUrlSearch

private ShareUrlSearch mShareUrlSearch = null;

第二,创建短串检索监听器

 /*** 短串检索监听器*/OnGetShareUrlResultListener shareUrlResultListener = new OnGetShareUrlResultListener() {@Override  //这部分是返回POi检索的位置结果   public void onGetPoiDetailShareUrlResult(ShareUrlResult shareUrlResult) {if (shareUrlResult.error != SearchResult.ERRORNO.NO_ERROR) {Toast.makeText(MainActivity.this, "抱歉,未找到结果!",Toast.LENGTH_SHORT).show();} else {// 分享短串结果Intent it = new Intent(Intent.ACTION_SEND);it.putExtra(Intent.EXTRA_TEXT, "您的朋友通过百度地图SDK与您分享一个位置: "+shareUrlResult.getUrl());it.setType("text/plain");startActivity(Intent.createChooser(it, "将短链分享到"));}}@Override    //这部分返回的则是逆地理编码的位置结果   public void onGetLocationShareUrlResult(ShareUrlResult shareUrlResult) {if (shareUrlResult.error != SearchResult.ERRORNO.NO_ERROR) {Toast.makeText(MainActivity.this, "抱歉,未找到结果!",Toast.LENGTH_SHORT).show();} else {// 分享短串结果Intent it = new Intent(Intent.ACTION_SEND);it.putExtra(Intent.EXTRA_TEXT, "您的朋友通过百度地图SDK与您分享一个位置: "+shareUrlResult.getUrl());it.setType("text/plain");startActivity(Intent.createChooser(it, "将位置信息分享到"));}}@Override   //这里是路径分享,这里根据自己需求进行添加参数,我这里没有用到,所以为空public void onGetRouteShareUrlResult(ShareUrlResult shareUrlResult) {}};

第三,调用分享短链(我这里是设置了一个Button的Click点击事件来调用)

 /*******位置分享按钮*********/
public void share (View view) {// 请求位置信息分享URL
mShareUrlSearch.requestLocationShareUrl(new LocationShareURLOption().location(new LatLng(mCurrentLat, mCurrentLon)).name("").snippet(""));//通过短URL调起客户端时作为附加信息显示在名称下面//参数说明
//location():共享点位置(里面设置的是共享点经纬度参数)
//如:location(new LatLng(39.915291, 116.403857))  //天安门广场的经纬度//name:共享点名称
//如:name("天安门")    //snippet:分享点附加信息
//如:snippet("天安门广场")); //分享点附加信息    //mShareUrlSearch.requestPoiDetailShareUrl(new PoiDetailShareURLOption().poiUid("65e1ee886c885190f60e77ff"));
// 请求poi详情分享URL的时候参数xxxOption中只有一个uid
//这里就是上面提到的Poi位置检索信息,通过分享的uid来进行分享,我的项目中没有使用这个方法,所以这里我注释掉了,大家根据自己需求来使用。    }
}

效果图:

由于我是在模拟器上调试的,所以我把短链放到便签里了,在真机上分享则是弹出分享窗口。可以根据自己需求分享至微信、QQ、短信等等都可以实现。这里只是做个小小演示,功能方面没有任何问题的,大家放心。

代码方面就是这样了,挺简单的对吧?害,自己当时实现这个功能花了不少时间,踩了很多的坑,不过还好,最后还是实现了。最后贴上按钮布局代码吧!

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout  xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity"android:orientation="horizontal"><!--百度地图控件--><com.baidu.mapapi.map.MapViewandroid:id="@+id/bmapView"android:layout_width="match_parent"android:layout_height="fill_parent"android:layout_gravity="center_horizontal"android:clickable="true" /><Buttonandroid:layout_width="140dp"android:layout_height="wrap_content"android:layout_marginLeft="190dp"android:onClick="share"android:text="短串分享测试"tools:ignore="OnClick" /></FrameLayout>

以上就是关于Android百度地图短链分享相关代码了,大家如果有什么问题可以在评论区留言,我看到了会回复大家。

Android百度地图短链分享的使用相关推荐

  1. android百度地图覆盖物异步加载图片,Android 百度地图marker中图片不显示的解决方法(推荐)...

    目的: 根据提供的多个经纬度,显示所在地的marker样式,如下: 问题: 1.发现marker中在线加载的图片无法显示出来: 2.获取多个对象后,却只显示出了一个marker: 以下为官网实现方法: ...

  2. android 百度地图 在线建议查询,Android 百度地图 SDK v3_3_0 (五) ---POI搜索和在线建议查询功能...

    目前百度地图SDK所集成的检索服务包括:POI检索.公交信息查询.线路规划.地理编码.在线建议查询.短串分享. 本篇博客将先介绍POI检索和在线建议查询(在地图地位功能基础上实现的,还不知道定位的童靴 ...

  3. android百度地图标方向,Android百度地图之方向感应和模式更改

    本文实例为大家分享了Android百度地图之方向感应和模式更改,供大家参考,具体内容如下 目标效果: 菜单中设置几种模式,点击可查看不同的地图形式,这里随便截几张图. 1.首先要去百度地图网站 htt ...

  4. android百度地图单点定位_Android百度地图实现搜索和定位及自定义图标绘制并点击时弹出泡泡...

    一.问题描述 上一次我们使用百度地图实现基本的定位功能,接下来我们继续实现搜索和定位,并使用LocationOverlay绘制定位位置,同时展示如何使用自定义图标绘制并点击时弹出泡泡 如图所示: 二. ...

  5. Android百度地图之位置定位和附近查找代码简单实现 (上)

    很长时间没有做Android相关知识了,闲暇之余再弄了弄最新的百度地图API,主要是进行百度地图附近餐馆查找功能来练练手,同时熟悉下最新的API教程.文章比较基础,也希望对你有所帮助~参考前文:   ...

  6. Android百度地图 - 在地图上标注已知GPS纬度经度值的一个或一组覆盖物 - OPEN 开发经验库 - 360安全浏览器 8.1...

    Android百度地图 - 在地图上标注已知GPS纬度经度值的一个或一组覆盖物 - OPEN 开发经验库 - 360安全浏览器 8.1 首页   代码   文档   问答   资讯   经验   Gi ...

  7. android获得图片的坐标,Android百度地图定位后获取周边位置的实现代码

    本文实例讲解Android百度地图定位后获取周边位置的实现代码,分享给大家供大家参考,具体内容如下 效果图: 具体代码: 1.布局文件 android:orientation="vertic ...

  8. Android - 百度地图打包之后出现的问题

    一.关于百度地图开发-调试通过-打包失败(授权Key不正确) 百度地图开发调试的应用程序正常,打包后显示授权key失败 这是由于调试生成的应用程序使用的是eclipse默认的SHA1的值 我们需要使用 ...

  9. [android] 百度地图开发 (一).申请AK显示地图及解决显示空白网格问题

        最近做android百度地图,但是使用baidumapapi_v2_3_1.jar和libBaiduMapSDK_v2_3_1.so显示百度地图时总是遇到问题--只显示网格而没有显示地图,网络 ...

最新文章

  1. Linux下简单的邮件服务器搭建
  2. inotify介绍及rsync + inotify 实时同步备份
  3. OC学习之面向对象三大特征
  4. java aes 解密 文件_Java AES文件加解密
  5. python提取视频中的音频 代码_如何使用python从视频文件中提取音频?
  6. [转]电影《龙纹身女孩》中的那句 SQL-----The Girl With The ANSI Tattoo
  7. 使用JMeter 进行接口并发性能测试
  8. Linux之文件基础操作命令
  9. 《JAVA语言程序设计与数据结构》(基础篇)原书第11版 第一章(答案)
  10. Vscode搭建jdk源码阅读环境 wsl
  11. 接口自动化测试平台,Django“踩坑”之旅(四):“Not Found: /favicon.ico”错误处理
  12. 引导修复软件boot-repair
  13. 业务流程优化设计之思想和原则
  14. Gym - 101606L Lizard Lounge 计算几何+LIS
  15. 使用docker搭建个人博客
  16. 2022年茶艺师(初级)考试模拟100题及答案
  17. 手机屏幕常见故障_手机测试常见问题总结!
  18. 如何梳理陌生的代码模块
  19. mac android工具下载,适用于Mac OS的安卓数据恢复软件Android Toolkit,支持macOS 10.15?...
  20. java开发小菜鸟初遇前端node.js

热门文章

  1. 程序员面试需要刷力扣算法题吗
  2. 洛谷P2058 海港
  3. 什么是DHCP?为什么要用DHCP?(中科三方)
  4. 导入EXCEL2007报错外部表不是预期的格式错误
  5. 除了叫好也应关注GDPR对数字产业的负效应 | 热评
  6. xshell中重启指令_远程服务器Xshell的使用 -- 重启服务器操作 和 linux的常用命令...
  7. python中idxmax_python-熊猫idxmax()在按包含NaN的时间段分组的...
  8. Gradle 2.0 用户指南翻译——第五十章. 依赖管理
  9. shell脚本文本替换
  10. [python]遍历字典dict的几种方法