- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
问题:创建 Place
的最干净的方法是什么?来自 ID 字符串的对象?
我想做一些place
硬编码 ID 之外的对象。想像 Place place1 = new Place("ChIJS_zBNNbXAhURy-FuRT5ib9k")
,但这当然行不通。
我遇到了 GeoDataApi.getPlaceById
,但文档令人困惑。
该 API 通常用于查找用户输入的任何内容(可选地使用自动完成),但我需要更小更清晰的东西(想想:单元测试目的)
我的研究: How to get a Place by ID
To get a place by ID, call
GeoDataApi.getPlaceById
, passing one or more place IDs.The API returns a
PlaceBuffer
in aPendingResult
. ThePlaceBuffer
contains a list ofPlace
objects that match the supplied place IDs.
文档:
Place(需要的对象)
PlaceBuffer(可转换为地点)
getPlaceById(返回一个 PendingResult)
我遇到的问题:我找不到一种优雅的方式来转换 PendingResult
在PlaceBuffer
.
The API returns a
PlaceBuffer
in aPendingResult
.
...
The final result object from a
PendingResult<R>
is of typeR
, which can be retrieved in one of two ways.
- via blocking calls to
await()
, orawait(long, TimeUnit)
, or- via a callback by passing in an object implementing interface
ResultCallback
tosetResultCallback(ResultCallback)
.
一个回调太乱了,我找不到任何使用await
的代码从中学习。
最佳答案
你可以很容易地把一个 PendingResult
来自 getPlaceById
进入PlaceBuffer
.您只需调用 await()
方法:
PendingResult<PlaceBuffer> result = Places.GeoDataApi.getPlaceById(
mGoogleApiClient, placeId);
PlaceBuffer placeBuffer = result.await();
(如果您愿意,您当然可以在一行中完成。)
有调用GeoDataApi.getPlaceByID
的例子和 PendingResult<PlaceBuffer>.await
在 https://github.com/googlesamples/android-play-places .
关于java - 如何使用 GeoDataApi.getPlaceById?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38163091/
问题:创建 Place 的最干净的方法是什么?来自 ID 字符串的对象? 我想做一些place硬编码 ID 之外的对象。想像 Place place1 = new Place("ChIJS_zBNNb
为了减少 API 调用次数,我尝试通过一次传递多个 place_id(最多 10 个)来查询地点详细信息。除了文档之外,我没有找到任何有用的信息。 https://developers.google.
我试图使用 Android studio 在 Android 中使用 Google 的 GeoDataClient 获取地点信息。具体来说,我已经设置了一个 OnPoiClicklistener,因此
我正在使用 Google Places API,我需要使用地点 ID 检索地点详细信息。我正在尝试调用方法 getPlaceById(),但它总是失败。这是日志: java.lang.IllegalA
我无法在 Android 上使用 Google Places API 检索地点详细信息。我正在为特定 place_id 调用 getPlacyById()。 在 Android Activity 中,
我从 mGeoDataClient.getPlaceById 中收到奇怪的错误。 places.get(0); 和 places.release(); 都没有列为 PlaceBufferRespons
我是一名优秀的程序员,十分优秀!