【发布时间】:2018-09-18 04:10:18
【问题描述】:
我在 java 类中创建了一个 GoogleMap,因此我可以多次重复使用它而无需重复代码。
我目前在同一个片段上有两张地图。一张地图,是供用户选择一个收集位置(物品拾取自)。第二张地图是交货地点(物品要去)。我的两个地图都可以工作,但是,当我尝试添加该行时,页面上的第二个地图崩溃了:
Fragment 内部,PostAJobFragment
// editTextSearch is an AutoCompleteTextView
map2.setEditSearchAPIListener(editTextSearch2, getActivity());
我创建了一个地图实例并访问了我的 Java 类中的 setEditSearchAPIListener 方法。如下:
Java 类内部,地图
public GoogleApiClient setEditSearchAPIListener(AutoCompleteTextView editTextSearch, FragmentActivity fragmentActivity)
{
mGoogleApiClient1 = new GoogleApiClient
.Builder(fragmentActivity)
.addApi(Places.GEO_DATA_API)
.addApi(Places.PLACE_DETECTION_API)
.enableAutoManage(fragmentActivity, this)
.build();
editTextSearch.setOnItemClickListener(mAutocompleteItemClickListener);
placeAutocompleteAdapter = new PlaceAutocompleteAdapter(fragmentActivity, mGoogleApiClient1, LAT_LNG_BOUNDS, null);
editTextSearch.setAdapter(placeAutocompleteAdapter);
return mGoogleApiClient1;
}
@Override
public void onPause() {
super.onPause();
mGoogleApiClient1.stopAutoManage(getActivity());
mGoogleApiClient1.disconnect();
}
我收到一条错误消息,提示 'java.lang.IllegalStateException: Already managing a GoogleApiClient with id 0'
我查看了其他说使用 onPause 方法的答案。由于我的 Map 使用 Java 类而不是片段,因此它似乎不起作用。 有什么办法可以解决这个问题吗?
【问题讨论】:
标签: android google-maps fragment google-api-client