Как отобразить широту и долготу на Google Maps - PullRequest
0 голосов
/ 27 апреля 2020

Я передаю данные долготы и широты от одного действия к другому, и это успешно, но как я могу после того, как получил эти данные? Отобразите их в Google Maps как местоположение, чтобы пользователь мог видеть местоположение на карте Google, а не видеть количество долготы и широты.

Примечание. Я передаю данные с помощью getExtra() и putExtra()

Если кто-нибудь знает решение, пожалуйста, помогите мне

button2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                Intent intent = new Intent(Main3Activity.this, MapsActivity.class);

               intent.putExtra("Latitude", Latitude);
               intent.putExtra("Longitude", Longitude);
                startActivity(intent);
            }
        });
public class MapsActivity extends FragmentActivity implements OnMapReadyCallback {

    private GoogleMap mMap;

    @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);
    Intent i = getIntent();
        final String Latitude=i.getStringExtra("Latitude");
        final String Longitude=i.getStringExtra("Longitude");
    }

    @Override
    public void onMapReady(GoogleMap googleMap) {
        mMap = googleMap;

        LatLng sydney = new LatLng(-34, 151);
        mMap.addMarker(new MarkerOptions().position(sydney).title("Marker in Sydney"));
        mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney));
    }
}

1 Ответ

2 голосов
/ 27 апреля 2020

Изменить

final Double Latitude=i.getStringExtra("Latitude");
        final Double Longitude=i.getStringExtra("Longitude");

на

final String Latitude=i.getDoubleExtra("Latitude");
        final String Longitude=i.getDoubleExtra("Longitude");

Изменить LatLng sydney = new LatLng(-34, 151); на LatLng sydney = new LatLng(Latitude, Longitude);

Попробуйте этот код:

public class MapsActivity extends FragmentActivity implements OnMapReadyCallback {

    private GoogleMap mMap;
Double Latitude=0.0;
    Double Longitude=0.0;
    @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);
        Intent i = getIntent();
        Latitude=i.getDoubleExtra("Latitude",0.0);
    Longitude=i.getDoubleExtra("Longitude",0.0);
    }

    @Override
    public void onMapReady(GoogleMap googleMap) {
        mMap = googleMap;

        LatLng sydney = new LatLng(Latitude, Longitude);
        mMap.addMarker(new MarkerOptions().position(sydney).title("Marker in Sydney"));
        mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney));
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...