代码如下:
// Uri uri = Uri.parse("geo:0,0?q=印象城购物中心 + 1699+现代大道,+工业园区,+苏州");
// Uri uri = Uri.parse("geo:0,0?q=31.318374,120.656962");
// Uri uri = Uri.parse("geo:31.318374,120.656962");
Uri uri = Uri.parse("geo:0,0?q=31.318374,120.656962,星巴克咖啡" + "&z=12");
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
this.startActivity(intent);
我的需求就是在程序里跳转到地图导航。经纬度已知。
上面是我尝试的方法,为什么我直接指定经纬度无法定位?而,我指定经纬度然后加上title(上面星巴克的写法),跳转到地图导航的时候,就会把全国星巴克咖啡店的地址都罗列出来,也就是说我指定的经纬度没有用到
该回答引用ChatGPT
你可以尝试以下代码:
Uri uri = Uri.parse("google.navigation:q=31.318374,120.656962");
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
intent.setPackage("com.google.android.apps.maps");
if (intent.resolveActivity(getPackageManager()) != null) {
startActivity(intent);
} else {
// 如果用户没有安装Google地图应用,则可以选择其他导航应用
}
这里我们使用了Google Maps的导航功能,而不是地理编码功能。使用这种方法可以确保直接跳转到指定位置的导航界面,而不会显示其他地点的信息。
同时,你需要确保用户已经安装了Google Maps应用,否则需要提供其他导航应用供用户选择。