我有一个从谷歌地点API获取的地点ID,目的是通过类似下面的方法使用地点ID打开谷歌地图应用
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);
}
有没有什么办法可以实现这个功能?
当用户从地点API中输入例如“埃菲尔铁塔”时,我已经拥有了纬度和经度。并且我将这些值存储以供下次使用(例如,我们正在从本地数据库列出某些旅游景点,并且用户单击其中一个,则应用程序会导航到Google Maps)。
我有一些问题:
如果我在Google Maps上使用纬度-经度来表示位置,而不是地点ID,如果“Cafe XYZ”移动到另一条街道,会发生什么情况?
如果每次都使用地点ID接收“Cafe XYZ”的最后位置(而不是存储在我的本地数据库中的值),应用程序很容易达到请求限制。
因此,这些问题促使我考虑一种新的方法,只需发送地点ID到Google Maps(就像发送坐标一样)。