不打开小部件屏幕的 PlacePicker

PlacePicker Without Opening Widget Screen

我在我的应用程序中实现了 Google 地图,并在使用 This API 单击 map.Im 时进行反向地理编码。但它给了我不止一个点击的结果。我知道为什么 Google 会这样。

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

我想要的是我想使用我的 Google 地图屏幕来获取点击的地方,而不是打开 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 屏幕中选择一个位置并且该屏幕 returns 和 Intent 具有所选位置时,将执行以上代码。有什么方法可以在 Google 地图上使用经纬度制作这种类型的 'Intent' 吗?这样我就可以获得地点详细信息。我不想使用反向地理编码,因为它会给我很多结果。

我对 google 地理位置 api 或 PlacePicker api 一无所知。

google 独立 android 标准方法是将 "ACTION_PICK" 与 geo uri 一起使用。

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

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

注意:您不必使用该库。您需要做的就是解码 activity result

返回的 geo-uri

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

 googleMap.setOnPoiClickListener(new GoogleMap.OnPoiClickListener() {
    @Override
    public void onPoiClick(PointOfInterest pointOfInterest) {
        String SS="";
       isPOI=true;
       poiPlaceID=pointOfInterest.placeId;
        // Then using Google PlaceDetail API with placeId, It gives me exact Location click
    }
});