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 下载地址


posted @ 2016-05-30 14:14  恋恋西风  阅读(574)  评论(0编辑  收藏  举报