Places SDK สำหรับ Android (เดิม) รองรับสถานที่ปัจจุบัน (เดิม) หากคุณคุ้นเคยกับสถานที่ปัจจุบัน (เดิม) การค้นหาใกล้เคียง (ใหม่) จะทำการเปลี่ยนแปลงต่อไปนี้
ใช้รูปแบบการกำหนดราคาใหม่ ดูข้อมูลราคาสำหรับ API ทั้งหมดได้ที่ Places SDK สำหรับ Android (ใหม่)
คุณต้องเริ่มต้นแอปโดยเรียกใช้เมธอด
Places.initializeWithNewPlacesApiEnabled()
ดูข้อมูลเพิ่มเติมเกี่ยวกับการเลือกบริการ Places API ได้ที่ ตั้งค่าโปรเจ็กต์ Google Cloudต้องมีการมาสก์ฟิลด์ คุณต้องระบุช่องที่ต้องการให้แสดงผล ในการตอบกลับ ไม่มีรายการฟิลด์ที่แสดงผลเริ่มต้น หากคุณละเว้น รายการนี้ เมธอดจะแสดงข้อผิดพลาด
การค้นหาใกล้เคียง (ใหม่) ไม่รองรับ
PlaceLikelihood
การค้นหาใกล้เคียง (ใหม่) ช่วยให้คุณใช้ลำดับผลการค้นหาเพื่อระบุตำแหน่งที่มีความเป็นไปได้มากที่สุดได้
ตัวอย่างการค้นหาในบริเวณใกล้เคียง (ใหม่)
ดูข้อมูลเพิ่มเติมและตัวอย่างวิธีใช้การค้นหาใกล้เคียง (ใหม่) ได้ในเอกสารประกอบการค้นหาใกล้เคียง (ใหม่)
ใช้การค้นหาใกล้เคียง (ใหม่) เพื่อรับสถานที่ปัจจุบัน
ตัวอย่างต่อไปนี้แสดงวิธีรับสถานที่ปัจจุบันด้วยการค้นหาใกล้เคียง (ใหม่) โดยแทนที่การใช้ PlacesClient.findCurrentPlace()
ด้วย PlacesClient.searchNearby()
public class MainActivity extends extends AppCompatActivity {
private FusedLocationProviderClient fusedLocationProviderClient;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
// ...
// get permission
if (ContextCompat.checkSelfPermission(this,
Manifest.permission.ACCESS_FINE_LOCATION)
== PackageManager.PERMISSION_GRANTED) {
// get location and search
fusedLocationProviderClient
.getLastLocation()
.addOnSuccessListener(
this,
location -> {
if (location != null) {
LatLng latLng = new LatLng(location.getLatitude(), location.getLongitude());
CircularBounds circle = CircularBounds.newInstance(latLng, 10);
List<Place.Field> placeFields = Arrays.asList(Place.Field.ID, Place.Field.DISPLAY_NAME);
SearchNearbyRequest.Builder request = SearchNearbyRequest.builder(circle, placeFields);
placesClient
.searchNearby(request.build())
.addOnSuccessListener(response ->
List<Place> places = response.getPlaces();)
.addOnFailureListener(
exception -> {
// handle failure
});
} else {
// failed to get location.
}
})
.addOnFailureListener(
e -> {
// handle error
});
} else {
ActivityCompat.requestPermissions(
this,
new String[] {Manifest.permission.ACCESS_FINE_LOCATION},
PERMISSION_REQUEST_CODE);
}
}
}