我正在尝试从我自己的应用活动中打开谷歌地图应用。我想在地图应用上的特定位置显示一个标记。到目前为止我发现的是这段代码。
String label = "shop";
String uriBegin = "geo:" + lat + "," + lng;
String query = lat + "," + lng + "(" + label + ")";
String encodedQuery = Uri.encode(query);
String uriString = uriBegin + "?q=" + encodedQuery + "&z=16";
Uri uri = Uri.parse(uriString);
Intent intent = new Intent(android.content.Intent.ACTION_VIEW,uri);
startActivity(intent);
它的作用是打开地图应用,但不断向我显示loading messagebox
说searching for:<lat>,<lng>(shop)
<lat> and <lng>
是我提供的值。这有什么不对吗?
我已从另一个stackoverflow post复制此代码。
答案 0 :(得分:7)
更新您的Google地图应用
然后(如果尚未运行),您可以尝试使用以下代码:
String uri = String.format(Locale.ENGLISH, "geo:%f,%f?z=17&q=%f,%f", latitude,longitude,latitude,longitude);
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(uri));
基于以下问题: Starting Google Maps App with provided location and marker要显示标记,请将查询标记添加到URI