【问题标题】:Launching Baidu Map intent from custom app从自定义应用程序启动百度地图意图
【发布时间】:2017-01-16 12:30:48
【问题描述】:

在我的应用程序中,我提供了一个发货地址。当用户按下一个按钮时,它会启动一个意图以该地址作为参数来谷歌地图。

String uri = String.format(Locale.ENGLISH, "google.navigation:q=" + shipmentAdress);
                                                    Intent intent = new Intent(Intent.ACTION_VIEW,
                                                            Uri.parse(uri));
                                                    startActivity(intent);

我想为我们在中国的客户做同样的事情,他们无法使用谷歌地图,但可以使用百度地图。请记住,我没有 GPS 坐标,只有地址。

有人知道我会怎么做吗?他们所有的文档都是中文的,他们的应用程序也是如此,而我到目前为止只使用了谷歌翻译。

我已经把它归结为 "baidumap://map/geocoder?src=openApiDemo&address=" 之类的东西,但它通常会返回并出错(我想,我使用了错误的屏幕截图和 Pleco 的 OCR 来翻译它。)

【问题讨论】:

    标签: java android google-maps navigation baidu


    【解决方案1】:

    最终想通了:

    String uri = String.format(Locale.CHINA, "baidumap://map/navi?query=" + shipmentAdress);
    Intent intent = new Intent(Intent.ACTION_VIEW,
    Uri.parse(uri));
    startActivity(intent);
    

    【讨论】:

    • 有没有办法使用latlng坐标作为参数?
    • 检查@phancuongviet 答案
    • 我有latlng坐标,怎么打开呢?
    【解决方案2】:

    尝试使用这个 Intent

    try {
        Intent intent = Intent.parseUri("intent://map/marker?location=21.028399,105.790824&title=CV Cầu &content=Công viên vui chơi&src=yourCompanyName|yourAppName#Intent;scheme=bdapp;package=com.baidu.BaiduMap;end", Intent.URI_INTENT_SCHEME);
        if (intent.resolveActivity(getActivity().getPackageManager()) != null) {
            startActivity(intent);
        }
    } catch (URISyntaxException e) {
        e.printStackTrace();
    }
    

    【讨论】:

      猜你喜欢
      • 2017-08-23
      • 2011-01-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-13
      相关资源
      最近更新 更多