没有打开窗口小部件屏幕的PlacePicker

时间:2018-02-14 11:33:31

标签: java android google-maps reverse-geocoding

我已经在我的应用中实施了Google地图,并在点击地图时进行反向地理编码。我正在使用This API。但它在单击时给了我不止一个结果。我知道谷歌为什么会这样。

然后我查看PlacePicker widget for Android,但我无法使用该小部件而无需打开另一个地图屏幕来选择位置。

我想要的是我想使用我的谷歌地图屏幕获取点击位置而不是打开PlacePicker屏幕。我只是希望PlacePicker使用我已实现的地图,即希望PlacePicker响应地图点击并在不打开小部件的情况下放置,如果这是不可能的,那么请告诉我其他解决方案,以便在地图上获得一个正确的位置挖掘?提前谢谢

更新

为什么我要对问题进行结束投票?它不是太宽泛?简单地说,我想知道是否可以使用Google Map(MapView | SuportFragment)作为PlacePicker的主屏幕。请看下面的代码

int PLACE_PICKER_REQUEST = 1;
PlacePicker.IntentBuilder builder = new PlacePicker.IntentBuilder();
// I don't want this line, Don't want PlacePicker to open another Map Screen to allow user to pick place. 
startActivityForResult(builder.build(this), PLACE_PICKER_REQUEST); 

现在看下面的代码

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
  if (requestCode == PLACE_PICKER_REQUEST) {
    if (resultCode == RESULT_OK) {
        Place place = PlacePicker.getPlace(data, this);
        String toastMsg = String.format("Place: %s", place.getName());
        Toast.makeText(this, toastMsg, Toast.LENGTH_LONG).show();
    }
  }
}
当用户从PlacePicker屏幕中选择一个地点并且该屏幕返回带有选定地点的Intent时,将执行

以上代码。有没有办法在谷歌地图上用lat,lng制作那种“意图”?这样我就能得到Place细节。我不想使用反向地理编码,因为它给了我很多结果。

2 个答案:

答案 0 :(得分:0)

我不知道有关谷歌地理API或PlacePicker api的任何信息。

google独立的android标准方式是使用“ACTION_PICK”和geo uri

有关更多信息,请参阅https://github.com/k3b/k3b-geoHelper/wiki/Android-Geo-howto

仅当您安装了支持地理选择的geo-pick-aware app时才有效。

注意:您不必使用lib。您需要做的就是解码活动结果返回的geo-uri

答案 1 :(得分:0)

我找到了解决问题的方法,为了摆脱许多结果的反向地理编码并获得点击的地方,我使用以下代码

import * as file2 from './file2';

const file2Module = file2(request);
相关问题