调用系统的地图应用还是自己用百度地图实现?
帮忙戳一下http://vote.blog.csdn.net/blogstaritem/blogstar2013/xiaanming

解决方案 »

  1.   

    可以调用百度的api来做地图的开发,
    http://developer.baidu.com/map/
      

  2.   

    问题一
     如果系统未安装地图应用,如何显示指定位置的地图。
    问题二
     系统已安装多个地图应用(如,百度,google,高德),如何调用。
      

  3.   

    系统未安装百度地图的话,也可以调用吗?可以的话,如何调用呢?不管你的系统有没有安装百度地图都无法调用,因为百度地图是一个单独的应用,和你开发的应用没有任何关系。
    如果你需要做成大众点评那样的效果,那是调用了百度地图的api,这个api提供了地图的模块,然后你根据模块提供的接口,来实现自己的功能。你还是先看看百度地图api的文档吧http://open.mapbar.com/index.jsp
      

  4.   

    百度地图
    http://developer.baidu.com/map/lbs-cloud.htm
    图吧地图
    http://open.mapbar.com/index.jsp
      

  5.   

    大众点评有两种效果
    一:选附近店铺时,他是调用高德地图API的
    二:查看具体店的地图位置时,他是发送uri给系统,系统会提示本机中已安装的地图应用让用户选择打开地图软件
      

  6.   

    用百度地图的openApi,里面直接可以现在官方提供的Demo,本人于上周刚刚自己实现了一下,不过要先申请一个key地址http://developer.baidu.com/map/android-mobile-apply-key.htm,流程:注册百度账号->申请appkey(直接申请新的key就好sdkV2.1.3以后都用新的),在下载的demo代码里吧新key粘贴过去就能知道百度地图api的所有功能,对应你需要的功能,扒代码就行,说了这么多其实动手做很简单的
      

  7.   

    调用google地图app和网页百度成功,代码如下:
    if(isAppInstalled("com.google.android.apps.maps")){

    Uri uri=Uri.parse("http://ditu.google.cn/maps?hl=zh&mrt=loc&q=" + strAddress);
    Intent intent = new Intent(Intent.ACTION_VIEW, uri);
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK & Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);   
    intent.setClassName("com.google.android.apps.maps",   "com.google.android.maps.MapsActivity");
    startActivity(intent);
    }
    //go to WebBrowser
    else{
    Uri uri=Uri.parse("http://api.map.baidu.com/geocoder?address="+strAddress+"&output=html");
    Intent intent= new Intent(Intent.ACTION_VIEW, uri);
    intent.setData(uri);
    startActivity(intent);
    }
    } private boolean isAppInstalled(String strApp) {  
            try {  
                getPackageManager().getApplicationInfo(strApp, 0);  
                return true;  
            } catch (PackageManager.NameNotFoundException e) {  
                return false;  
            }  
        }