我的位置分享 where i am

收到一个需求:点击按钮,将自己的位置以地图地址的方法通过短信或者邮件分享出去,收到者可以点击这个链接地址打开百度地图或者google地图来查看这个位置
实现步骤
1. 获取位置:
参考前面博客:http://blog.csdn.net/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
。。。

你可能感兴趣的:(Android4.2,Andriod)