分类:C#、Android、VS2015、百度地图应用; 创建日期:2016-02-04
一、简介
短串分享是指,用户搜索查询后得到的每一个地理位置结果将会对应一条短串(短链接),用户可以通过短信、邮件或第三方分享组件(如微博、微信等)把短串分享给其他用户从而实现地理位置信息的分享。当其他用户收到分享的短串后,点击短串即可打开手机上的百度地图客户端或者手机浏览器进行查看。
例如,用户搜索“百度大厦”后通过短信使用短串分享功能把该地点分享给好友,好友点击短信中的短串“http://j.map.baidu.com/BkmBk” 后可以调起百度地图客户端或者手机浏览器查看“百度大厦”的地理位置信息。
目前百度的短串分享功能暂时开放了下面两种:
据百度官网说日后会开放更多的功能。
二、运行截图
简介:将POI点、反Geo点生成短链接以分享给好友。
详述:
(1)将POI点、反Geo点,生成短链接串,此链接可通过短信等形式分享给好友;
(2)好友在终端设备点击此链接可快速打开Web地图、百度地图客户端进行信息展示;
(3)百度官网目前(2016年1月)暂时开放了“POI搜索结果分享”和“反向地理编码结果分享”,据说日后会开放更多的短串分享功能。
本示例运行截图如下:
三、设计步骤
1、添加demo15_share.xml文件
在layout文件夹下添加该文件,然后将代码改为下面的内容:
2、添加demo15_share_activity.xml文件
在layout文件夹下添加该文件,然后将代码改为下面的内容:
3、添加Demo15Share.cs文件
在SrcSdkDemos文件夹下添加该文件,然后将代码改为下面的内容:
using Android.App;using Android.Content;using Android.OS;using Android.Widget;namespace BdMapV371Demos.SrcSdkDemos{ [Activity(Label = "@string/demo_name_share")] public class Demo15Share : Activity { protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.demo15_share); var btn = FindViewById
4、添加Demo15ShareActivity.cs文件
在SrcSdkDemos文件夹下添加该文件,然后将代码改为下面的内容:
using Android.App;using Android.Content;using Android.OS;using Android.Widget;using Com.Baidu.Mapapi.Map;using Com.Baidu.Mapapi.Model;using Com.Baidu.Mapapi.Search.Core;using Com.Baidu.Mapapi.Search.Geocode;using Com.Baidu.Mapapi.Search.Poi;using Com.Baidu.Mapapi.Search.Share;using Com.Baidu.Mapapi.Search.Route;using BdMapV371Demos.SrcOverlayUtil;namespace BdMapV371Demos.SrcSdkDemos{ /// /// 演示poi搜索短串分享功能 /// [Activity(Label = "@string/demo_name_share")] public class Demo15ShareActivity : Activity { private TextureMapView mMapView = null; private PoiSearch mPoiSearch = null; // 搜索模块,也可去掉地图模块独立使用 private ShareUrlSearch mShareUrlSearch = null; private GeoCoder mGeoCoder = null; // 保存搜索结果地址 private string currentAddr = null; // 搜索城市 private string mCity = "北京"; // 搜索关键字 private string searchKey = "餐馆"; // 反地理编译点坐标 private LatLng mPoint = new LatLng(40.056878, 116.308141); private BaiduMap mBaiduMap = null; private Marker mAddrMarker = null; private RouteShareURLOption.RouteShareMode mRouteShareMode; private PlanNode startNode; private PlanNode enPlanNode; protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.demo15_share_activity); mMapView = FindViewById (Resource.Id.bmapView); mBaiduMap = mMapView.Map; //处理布局中控件的相关事件 LayoutEvents(); //处理搜索监听事件 ListenerEvents(); } /// /// 处理布局中控件的相关事件 /// private void LayoutEvents() { //【poi搜索结果分享】按钮 var btnPoishare = FindViewById
5、修改MainActivity.cs
在MainActivity.cs文件的demos字段定义中,去掉【示例15】下面的注释。
运行观察结果。