Как сохранить выбранную пользователем локацию из фрагмента мест Google - PullRequest
2 голосов
/ 14 апреля 2019

Я настроил действие, в котором пользователь будет искать функцию поиска мест в Google и выбирать местоположение.Я не могу понять, как получить местоположение, выбранное пользователем.Мне нужно сохранить это местоположение в Firebase , чтобы я мог использовать данные, введенные в моей деятельности Google Maps.Любая помощь приветствуется.

Places.initialize(getApplicationContext(), apiKey);
    if (!Places.isInitialized()) {
        Places.initialize(getApplicationContext(), apiKey);
    }

    // Initialize the AutocompleteSupportFragment.
    AutocompleteSupportFragment autocompleteFragment = (AutocompleteSupportFragment)
            getSupportFragmentManager().findFragmentById(R.id.autocomplete_fragment);

    autocompleteFragment.setPlaceFields(Arrays.asList(Place.Field.ID, Place.Field.NAME));
    autocompleteFragment.setOnPlaceSelectedListener(new PlaceSelectionListener() {
        @Override
        public void onPlaceSelected(Place place) {
            // TODO: Get info about the selected place.
            Log.i(TAG, "Place: " + place.getName() + ", " + place.getId());
        }

        @Override
        public void onError(Status status) {
            // TODO: Handle the error.
            Log.i(TAG, "An error occurred: " + status);
        }

       /* public void getSelectedLocation(Place place){
            String newLocation = place.getName();

        }*/
    });

    addSong.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Log.d(TAG, "onClick: Attempting to add object to database.");
            String newArtist = artistName.getText().toString();
            String newSongLink = songLink.getText().toString();
            String newGenre = genreSpinner.getSelectedItem().toString();
            if(!newArtist.equals("") && !newSongLink.equals("") && !newGenre.equals("")){
                FirebaseUser user = firebaseAuth.getCurrentUser();
                String userID = user.getUid();
                databaseReference.child(userID).child("Songs").child("Added Songs").child(newArtist).setValue("true");
                databaseReference.child(userID).child("Songs").child("Added Songs").child(newGenre).setValue("true");
                databaseReference.child(userID).child("Songs").child("Added Songs").child(newSongLink).setValue("true");
                //databaseReference.child(userID).child("Artists").child("Artist Profile").child("Members").child(newArtistMembers).setValue("true");
                toastMessage("Adding new profile");
            }else{
                toastMessage("Please ensure all fields are filled");
            }
            //Return to homescreen
            Intent intent = new Intent(AddSong.this, ArtistHomepage.class);
            startActivity(intent);
        }
    });

Есть ли способ получить сведения из getPlaceSelected и установить их в строку, чтобы их можно было сохранить в базе данных в реальном времени?

...