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);