android 调用地图

有时候我们需要调用地图显示一下位置,这时候可能还需要导航,导航做起来有点麻烦,如果调用第三方的是不是很简单,本文就是写这个来的;

第一种方式:android Intent调用地图应用客户端

调用百度地图:

百度地图包:com.baidu.BaiduMap

 try {
intent = Intent.getIntent("intent://map/marker?location=40.047669,116.313082&title=我的位置&content=百度奎科大厦&src=yourCompanyName|yourAppName#Intent;scheme=bdapp;package=com.baidu.BaiduMap;end");
if(isInstallByread("com.baidu.BaiduMap")){
startActivity(intent); //启动调用
Log.e("GasStation", "百度地图客户端已经安装") ;
}else{
Log.e("GasStation", "没有安装百度地图客户端") ;
}
} catch (URISyntaxException e) {
e.printStackTrace();
}

具体说明见百度:http://lbsyun.baidu.com/index.php?title=uri/api/android

调用高德地图:

 高德的包名: com.autonavi.minimap

try

        {

            Intent intent = Intent.getIntent("androidamap://viewMap?sourceApplication=厦门通&poiname=百度奎科大厦&lat=40.047669&lon=116.313082&dev=0");

            startActivity(intent);

        } catch (URISyntaxException e)

        {

            e.printStackTrace();

        }

判断是否安装了应用:

private boolean isInstallByread(String packageName)

    {

        return new File("/data/data/" + packageName).exists();

    }

第二种:使用网页,这种方式不会出现,如果没有安装导航,无法使用的问题:

我只试了百度:

    private void openBrowserBaidu()
{
Uri webpage = Uri.parse("http://api.map.baidu.com/marker?location=39.915168,116.403875&title=目的地&content=*&output=html");
Intent webIntent = new Intent(Intent.ACTION_VIEW,webpage);
startActivity(webIntent);
}

可以进行正常导航,但传参数一定要传对才行;

demo 因为时间问题没有做具体的demo 在其它的地方写了一下

大家 看时结合博文来看:

imageView.setOnClickListener(new View.OnClickListener()

demo 下载地址

上一篇:JSP + AJAX完整实例及代码


下一篇:「UVA644」 Immediate Decodability(Trie