【发布时间】: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