我的问题与此问题非常相似(Android - How to launch Google map intent in android app with certain location, zoom level and marker),但接受的答案对我无效。它会在正确的地点和正确的缩放级别打开地图,然后继续放大到街道级别的视图(zoom = 16或17?)。Android - 如何在Android应用程序中启动Google地图意图设置缩放级别和标记
我已经搜索过,我已经通过this文档阅读,但找不到地点标记组合&缩放,做我所需要的。
我试图使用谷歌地图的版本 8.2.0, 9.20.1几台设备, 9.36.2 & 9.42.3
这里是日志打印的结果(乌里用于意图) 地理:39.29038619995117,-76.61219024658203 q = 39.29038619995117%2C-76.61219024658203(巴尔的摩)& Z = 11
从其他职位的答案是4岁了吧?。地图改变了,这样现在不起作用了吗?另一个答案是否只工作,因为他们将缩放设置为17,并没有注意到它不会解决另一个缩放级别?我错过了别的吗?
要清楚地说明我的问题: 如何使用地理意图打开地图应用程序以显示地点标记并同时选择缩放级别?
我的代码基于从其他帖子接受的答案。
double latitude = item.getLatitude();
double longitude = item.getLongitude();
String label = item.getName();
String uriBegin = "geo:" + latitude + "," + longitude;
String query = latitude + "," + longitude + "(" + label + ")";
String encodedQuery = Uri.encode(query);
String uriString = uriBegin + "?q=" + encodedQuery + "&z=11";
mListener.onListFragmentInteraction(uriString);
然后
public void onListFragmentInteraction(String url) {
Uri geoLocation = Uri.parse(url);
Log.d(TAG, "geo uri = " + geoLocation);
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(geoLocation);
startActivity(intent);
}
此功能在Google地图7.x后中断。 –
请参考:https://developer.android.com/guide/components/intents-common.html#Maps –
@HarjotSinghOberai“在7.x之后破解”。谢谢,我很害怕这个。你知道这是故意还是有机会修复?你知道任何可以涵盖这一变化的文件吗? – Gary99