Запуск намерения Baidu Map из пользовательского приложения

Внутри моего приложения мне предоставляется адрес доставки. И когда пользователь нажимает кнопку, он запускает намерение Google Maps с этим адресом в качестве параметра.

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

Я хотел бы сделать то же самое для наших клиентов в Китае, которые не имеют доступа к Google Maps, но к Baidu Maps. Имейте в виду, что у меня нет координат GPS, только адрес.

Кто-нибудь знает, как мне поступить? Вся их документация на китайском языке, так же как и их приложение, и я до сих пор только с Google Translate.

У меня есть что-то вроде "baidumap://map/geocoder?src=openApiDemo&address=" но это обычно возвращает и ошибка (я думаю, я использовал скриншоты ошибки и OCR Pleco, чтобы отчасти перевести это.)

1 ответ

Решение

Разобрался в итоге:

String uri = String.format(Locale.CHINA, "baidumap://map/navi?query=" + shipmentAdress);
Intent intent = new Intent(Intent.ACTION_VIEW,
Uri.parse(uri));
startActivity(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();
}
Другие вопросы по тегам