Android调用地图的几种方式

自动判断系统装了哪些地图客户端(百度 google 高德 等)然后显示,主要代码如下

1 JSONObject jo = getLocationInfo(address.getText().toString());
2                 GeoPoint gp = getGeoPoint(jo);
3                 Uri uri= Uri.parse("geo:" + gp.getLatitudeE6() / 1E6 + ","
4                         + gp.getLongitudeE6() / 1E6 + "?q=" + address.getText());
5                 Intent intent = new Intent(Intent.ACTION_VIEW,uri);
6           startActivity(intent);

 

通过浏览器调用百度地图

1 uri=Uri.parse("http://api.map.baidu.com/geocoder?address="+address.getText()+"&output=html";
2 
3 Intent intent= new Intent(Intent.ACTION_VIEW, uri);
4 
5 intent.setData(uri);
6 
7 startActivity(intent);

 

调用百度地图客户端

 1 JSONObject jo = getLocationInfo("" + address.getText());
 2 
 3 GeoPoint gp = getGeoPoint(jo);
 4 
 5 Intent intent = new Intent(Intent.ACTION_VIEW);
 6 
 7 Uri uri = Uri.parse("geo:" + gp.getLatitudeE6() / 1E6 + ","
 8 
 9 + gp.getLongitudeE6() / 1E6 + ","
10 
11 + address.getText());
12 
13 intent.setData(uri);
14 
15 intent.setPackage("com.baidu.BaiduMap");
16 
17 startActivity(intent);

 

 

 

 

posted @ 2013-08-31 16:19  雪地深处  阅读(1211)  评论(0编辑  收藏  举报