【发布时间】:2018-01-27 10:31:01
【问题描述】:
我有一个从 Google Places API 获得的地点 ID,目的是通过地点 ID 打开 Google 地图应用程序,如下面的类似方法
Uri gmmIntentUri = Uri.parse(String.format(Locale.ENGLISH,"geo:%f,%f", lat, lon));
Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
if (mapIntent.resolveActivity(getPackageManager()) != null) {
startActivity(mapIntent);
}
有什么办法吗?
当用户从 Place API 输入“埃菲尔铁塔”时,我已经有了纬度、经度。我正在存储这些值以供下次使用(假设我们从本地数据库中列出了某种访问过的地方,用户点击其中一个,应用导航到谷歌地图)
我有一些顾虑
如果我使用纬度-经度来指示地点而不是地点 ID 在谷歌地图上,如果“Cafe XYZ”移动另一条街道会发生什么 ?
如果我每次都使用地点 ID 来接收“Cafe XYZ”的最后位置 (而不是存储在我的本地数据库中的值)应用程序很容易达到请求限制
所以这些担忧让我想到了一种只发送地点 ID 谷歌地图的方法(比如发送坐标)
【问题讨论】:
-
GooglePlacesAPI还提供latitude和longitude和placeid。所以使用lat-lng提供的GooglePlacesAPI打开地图而不是placeid。这很简单。 -
@Heisen-Berg 感谢您的评论。我只是修改了问题以清楚地解释什么和为什么。它还包括对您的评论的回复。
标签: android google-maps google-places-api