从自定义应用程序启动百度地图意图

时间:2017-01-16 12:30:49

标签: java android google-maps navigation baidu

在我的应用程序内,我收到了一个货件地址。当用户按下按钮时,它会启动谷歌地图的意图,并将该地址作为参数。

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

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

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

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

2 个答案:

答案 0 :(得分:1)

最终想出来:

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

答案 1 :(得分:0)

尝试使用此意图

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();
}