Как я могу использовать GoogleMap SDK для перечисления близлежащих мест? - PullRequest
0 голосов
/ 25 марта 2019

Я пытаюсь реализовать действие на карте. Мне нужно показать близлежащие места с помощью Google Map SDK. Я не знаю, как использовать Google Map SDK, потому что я новичок.

Я пробую многие учебники, которые используют HTTP URL. Мне нужно использовать Google Map SDK. Поиск мест рядом с ключевыми словами, такими как банкомат, банк и т. Д. С указанным радиусом.

public class MapsActivity extends FragmentActivity implements OnMapReadyCallback {

    private GoogleMap mMap;
    private FusedLocationProviderClient fusedLocationClient;
    double C_Latitude, C_Longitude;
    PlacesClient placesClient;
    private static final int MY_PERMISSIONS_REQUEST_READ_CONTACTS = 1;
    String keyword="atm";
    String radius="1000"; 

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_maps);
        SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
        mapFragment.getMapAsync(this);

        Places.initialize(getApplicationContext(),"@string/key");
        placesClient = Places.createClient(this);
        fusedLocationClient = LocationServices.getFusedLocationProviderClient(this);
    }

    @Override
    public void onMapReady(GoogleMap googleMap) {

        mMap = googleMap;
        if (ContextCompat.checkSelfPermission(this,
            Manifest.permission.ACCESS_FINE_LOCATION)
            != PackageManager.PERMISSION_GRANTED) {
            if (ActivityCompat.shouldShowRequestPermissionRationale(this,
                Manifest.permission.ACCESS_FINE_LOCATION)) {
            } else {
                ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, MY_PERMISSIONS_REQUEST_READ_CONTACTS);
            }
        } else {
            fusedLocationClient.getLastLocation().addOnSuccessListener(this, new OnSuccessListener<Location>() {
                    @Override
                    public void onSuccess(Location location) {
                        if (location != null) {
                            C_Latitude = location.getLatitude();
                            C_Longitude = location.getLongitude();
                            LatLng CurrntLocation = new LatLng(C_Latitude, C_Longitude);
                            CameraUpdate yourLocation = CameraUpdateFactory.newLatLngZoom(CurrntLocation, 19);  //zoom
                            mMap.addMarker(new MarkerOptions().position(CurrntLocation).title("Current Position"));  //marker
                            mMap.animateCamera(yourLocation);
                            GetNearbyPlace();
                        }
                    }
                });
        }
    }

    private void GetNearbyPlace() {

    }
}

1 Ответ

1 голос
/ 25 марта 2019

Google Places SDK устарел, перейдите на новый PLACES API

https://developers.google.com/places/android-sdk/client-migration#place_picker

  • Сначала необходимо включить PlacesAPI в консоли разработчика (вам следуетвключить платежный аккаунт).
  • Затем внедрите API-интерфейс Places в своем Gradle.

для Автозаполнение Places следуйте приведенным ниже рекомендациям

https://stackoverflow.com/a/55045772/10579969

...