【问题标题】:PlacePicker Without Opening Widget ScreenPlacePicker 无需打开小部件屏幕
【发布时间】:2018-02-14 11:33:30
【问题描述】:

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

然后我查看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 制作那种类型的“意图”?这样我就可以获得地点详细信息。我不想用户反向地理编码,因为它给了我很多结果。

【问题讨论】:

    标签: java android google-maps reverse-geocoding


    【解决方案1】:

    我对 google geo api 或 PlacePicker api 一无所知。

    独立于 google 的 android 标准方式是使用带有 geo uri 的“ACTION_PICK”。

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

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

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

    【讨论】:

    • 我找到了基于 POI 事件的解决方案
    【解决方案2】:

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

     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
        }
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-16
      • 2022-01-01
      • 2021-03-01
      • 1970-01-01
      • 2014-08-06
      相关资源
      最近更新 更多