关闭

android 调用地图

标签: android地图导航
1018人阅读 评论(0) 收藏 举报
分类:

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

第一种方式: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
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:255132次
    • 积分:2939
    • 等级:
    • 排名:第11983名
    • 原创:79篇
    • 转载:92篇
    • 译文:0篇
    • 评论:54条
    博客专栏
    说明
    Android 交流学习群 QQ:458506426
    最新评论