android:使用多个place#id';s
为了减少API调用的数量,我试图通过一次传递几个place_ID(最多10个)来查询place详细信息。除了文档之外,我没有发现任何有用的信息 值得注意的是,构造函数是:android:使用多个place#id';s,android,google-places-api,Android,Google Places Api,为了减少API调用的数量,我试图通过一次传递几个place_ID(最多10个)来查询place详细信息。除了文档之外,我没有发现任何有用的信息 值得注意的是,构造函数是: public abstract pendingreult getPlaceById(GoogleAppClient,**字符串…placeId**) 文档说:返回每个给定位置ID的位置对象 传递单个place\u id时,我没有任何问题,但是当我传递一个逗号删除的id字符串时,我得到一个status=“SUCCESS”,但缓
public abstract pendingreult getPlaceById(GoogleAppClient,**字符串…placeId**)
文档说:返回每个给定位置ID的位置对象
传递单个place\u id
时,我没有任何问题,但是当我传递一个逗号删除的id字符串时,我得到一个status=“SUCCESS”
,但缓冲区计数为0
有人知道将多个id传递给getPlaceById()
的正确方法吗
这是我的代码,如果有帮助的话:
Places.GeoDataApi.getPlaceById(mGoogleApiClient, searchIds)
.setResultCallback(new ResultCallback<PlaceBuffer>() {
@Override
public void onResult(PlaceBuffer places) {
int cnt = places.getCount();
if (places.getStatus().isSuccess() && places.getCount() > 0) {
for (int i=0; i < places.getCount(); i++) {
final Place myPlace = places.get(i);
Log.d("<< cache >> ", "Place found: " + myPlace.getName());
}
} else {
Log.d("<< cache >> ", "Place not found");
}
places.release();
}
});
Places.GeoDataApi.getPlaceById(mGoogleApiClient,searchid)
.setResultCallback(新的ResultCallback(){
@凌驾
公共void onResult(PlaceBuffer places){
int cnt=places.getCount();
if(places.getStatus().issucess()&&places.getCount()>0){
对于(int i=0;i”,“找到的位置:“+myPlace.getName());
}
}否则{
Log.d(“>”,“未找到位置”);
}
places.release();
}
});
虽然我读过这个字符串。。。可以作为逗号分隔字符串或字符串数组传递,出于某种原因,getPlaceById似乎需要数组。当我使用此代码准备place id参数时,它可以正常工作:
String search[] = new String[idsToSearch.size()];
search = idsToSearch.toArray(search);
这是一场争论。你这样称呼它:
Places.GeoDataApi.getPlaceById(mGoogleApiClient,
"placeId1", "placeId2", "placeId3");
关于这个问题的更多细节:我已经读过这篇文章,但我认为它相当于:String id=“placeid1,placeid2,placeid3”。我没有试过这个,但我可能只是想看看它是否有效。String id=“\”placeid1\”,\“placeid2\”数组运行良好,没有混乱的转义引号,因此我可能会继续使用这种方法。谢谢