Android Google地图应用直接跳转到特定位置

时间:2017-02-01 08:17:25

标签: android google-maps google-maps-android-api-2

我正在使用以下代码打开Goog​​le地图应用并将用户重定向到特定位置。

@Override
public void openMap(EService service) {
    if (service != null && UString.stringsExist(service.latitude, service.longitude, service.address)) {

        Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(
                "geo:<" + service.latitude + ">,<" + service.longitude + ">?q=<" + service.latitude + ">,<" + service.longitude + ">(" + service.address + ")")
        );

        try {
            startActivity(intent);
        } catch (ActivityNotFoundException e) {
            Toast.makeText(this, getString(R.string.toast_no_application_found_for_action), Toast.LENGTH_SHORT).show();
        }

    }
}

问题是,当应用程序打开时,它首先会跳转到我当前的位置,一秒钟后它会移动到我给它的位置。有没有办法直接移动到我指定的位置?

修改

我正在运行4.3的S3。

1 个答案:

答案 0 :(得分:0)

为什么要添加&#34;&lt;&#34;和&#34;&gt;&#34;作为纬度/经度的分隔符?

根据文档,正确的做法是:

Uri gmmIntentUri = Uri.parse("geo:"+ service.latitude +","+ service.latitude +"?q="+ service.latitude + "," + service.longitude + "(" + service.address + ")");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);