Mam klasę aktywności lokalizacji z pokrętłem składającym się z wartości z bazy danych. Klikam jedną z wartości, przeszukuję bazę danych i wycofuję współrzędne. Wiem, że otrzymałem prawidłowe współrzędne, ponieważ przetestowałem zapytanie w aplikacji.

spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
                @Override
                public void onItemSelected(AdapterView<?> parent, View view, final int i, long id) {
                    switch (i) {
                        case 0:
                            //remove marker
                            break;
                        case 1:
                        case 2:
                        case 3:
                        case 4:
                        case 5:
                        case 6:
                        case 7:
                            getSuggestedLocation(i);
                            //Antrim marker
                            break;
                        //Armagh marker
                        //Belfast marker
                        //Derry marker
                        //Down marker
                        //Fermanagh marker
                        //Tyrone marker
                    }
                }

Chcę zaktualizować moją mapę, aby umieścić znacznik na właśnie wybranej opcji współrzędnych pokrętła.

private void inflateMapFragment(){

    MapFragment fragment = MapFragment.newInstance();
    FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
    ft.replace(R.id.map_container, new MapFragment());
    ft.commit();
}


private void buildLocationCallBack() {
    locationCallback = new LocationCallback()
    {
        @Override
        public void onLocationResult(LocationResult locationResult)
        {
            for(android.location.Location location:locationResult.getLocations())

                    currentLocation = (String.valueOf(location.getLatitude())
                            + "/"
                            + String.valueOf(location.getLongitude()));


        }
    };
}

private void buildLocationRequest()
{
    locationRequest = new LocationRequest();
    locationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
    locationRequest.setInterval(5000);
    locationRequest.setFastestInterval(3000);
    locationRequest.setSmallestDisplacement(10);

Warto zauważyć, że ręcznie ustawiam currentLocation w metodzie onLocationResult. Jednak chcę przekazać wartość z mojej bazy danych do tej currentLocation, jeśli wybrano opcję, ale nie wiem, jak uzyskać wynik z przełączenia na wymaganą metodę. Proszę o pomoc, moja głowa jest usmażona lol, w najmniejszym stopniu nie lubię Android Studio

0
soupyc123 20 listopad 2019, 21:15

1 odpowiedź

Możesz to nazwać, po prostu zadeklaruj swoją GoogleMap globalnie.

yourGoogleMap.clear();
LatLng latlng = new LatLng(YOUR_LATITUDE, YOUR_LONGITUDE);
MarkerOptions options = new MarkerOptions()
        .position(latlng)
        .title(YOUR_TITLE);
yourGoogleMap.addMarker(options);
yourGoogleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(latlng, 16.0f));
0
L2_Paver 21 listopad 2019, 04:17