我正在使用以下代码打开Google地图应用并将用户重定向到特定位置。
@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。
答案 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);