0
点赞
收藏
分享

微信扫一扫

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




举报

相关推荐

0 条评论