プレイス ピッカーが起動すると、近くのプレイス リストが表示される場所の横に 3 ~ 5 秒間のローディング サークル アニメーションが表示されます。ローディング サークルが消えると、近くの場所がリストに表示されなくなり、近くの場所のピンもマップに表示されなくなります。
ここで、マップを任意の方向にかなりパン (ズームは何もしません) すると、近くの場所が問題なく読み込まれます。
下の最初の画像は、場所ピッカーが起動した後に撮影されたもので、マップをパンするまで、近くの場所を読み込まずにこのままになります。
2 番目の画像は、近くの場所が正しく読み込まれたマップをパンした後に撮影されたものです。
下部に関連するコードがあります。さらに必要な場合はお知らせください。
<manifest
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
<application
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="MY_API_KEY" />
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
</application>
</manifest>
// Emulator is using google play services version 9.4.52
dependencies {
compile 'com.google.android.gms:play-services-maps:9.4+'
compile 'com.google.android.gms:play-services-places:9.4+'
compile 'com.google.android.gms:play-services-location:9.4+'
}
@Override
protected void onCreate(Bundle savedInstanceState) {
mGoogleApiClient = new GoogleApiClient
.Builder(this)
.addApi(Places.GEO_DATA_API)
.addApi(Places.PLACE_DETECTION_API)
.enableAutoManage(this, this)
.build();
}
public void choosePlace() {
try {
PlacePicker.IntentBuilder intentBuilder = new PlacePicker.IntentBuilder();
Intent intent = intentBuilder.build(this);
startActivityForResult(intent, PLACE_PICKER_REQUEST);
} catch (GooglePlayServicesRepairableException e) {
// This is not being thrown
} catch (GooglePlayServicesNotAvailableException e) {
// This is not being thrown
}
}
@Override
public void onConnectionFailed(ConnectionResult result) {
// This is not being called
}