我的位置分享 where i am

收到一个需求:点击按钮,将自己的位置以地图地址的方法通过短信或者邮件分享出去,收到者可以点击这个链接地址打开百度地图或者google地图来查看这个位置
实现步骤
1. 获取位置:
参考前面博客:http://blog.youkuaiyun.com/androiddeveloper_lee/article/details/12944637
2. 将位置转换为地图地址:
这个可能必须要借助百度地图或者google地图的api了,不然无法转换成对应地址
百度地图API提供了这种方法:
//注册监听
mSearch = new MKSearch();
mSearch.init(app.mBMapManager, new MKSearchListener(){
。。。
	@Override
			public void onGetShareUrlResult(MKShareUrlResult result, int type,
					int error) {
				Toast.makeText(ShareDemoActivity.this, "共享", Toast.LENGTH_LONG).show();
				//分享短串结果
				Intent it = new Intent(Intent.ACTION_SEND);  
				it.putExtra(Intent.EXTRA_TEXT, "您的朋友通过百度地图SDK与您分享一个位置: "+
						       currentAddr+
						       " -- "+result.url);  
				it.setType("text/plain");  
				startActivity(Intent.createChooser(it, "将短串分享到"));
				
			}
}

/*
  * 发起地址信息短串请求,一个位置的地理信息一可以通过GeoCode/反GeoCode搜索获得.
  * mSearch 为 MKSearch象,
  * 参数pt为要分享的位置的经纬度坐标 ,name和addr为百度地图客户端在展示该位置时显示的名称和地址.
  */
//开始搜索Geo点的共享串,在回调函数中获得
GeoPoint pt = new GeoPoint((int)(39.945*1E6),(int)(116.404*1E6));
String name = "天安门";
String addr = "西城区景山前街4号";
mSearch.poiRGCShareURLSearch(pt,name,addr);

以上是关键代码,具体可参照BaiduApiDemo

缺点:百度地图只支持中国地图,国外的地图还没有做
还得找google map的api
。。。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值