我正在尝试构建一个Uri,这是一种意图查询地图上某个位置的最正确的方法.在映射意图的
documentation中,Uris应该采用以下形式:geo:0,0?q =我的街道地址.我尝试使用Uri.Builder但没有找到指定“0,0”的方法
作为Uri.Builder的uri的一部分没有在没有前缀’/’的情况下指定路径的功能.目前我使用以下代码:
作为Uri.Builder的uri的一部分没有在没有前缀’/’的情况下指定路径的功能.目前我使用以下代码:
uri = new Uri.Builder() .scheme(URL_SCHEME_MAP) .encodedOpaquePart("0,0?q=" + query) .build();
哪个好,但不如我想要的好.所以我想知道是否有人知道更好/更好的方法来做到这一点.
解决方法
您可以通过结合使用parse和buildUpon方法来实现此目的:
Uri geoLocation = Uri.parse("geo:0,0?").buildUpon() .appendQueryParameter("q",location) .build(); Intent intent = new Intent(Intent.ACTION_VIEW); intent.setData(geoLocation);
我从Udacity class “Developing Android Apps”开始学习这种方法,尽管他们没有完全解释它.