如何将 latitude/longitude 从 bundle 设置为 Google Maps

How to set latitude/longitude from bundle to Google Maps

我正在尝试将表格 main_activity 捆绑到 google_maps_activity。该包包含一个字符串,该字符串包含一个带有坐标、纬度和经度的浮点数。

我认为我的包很好,但是当我打开我的应用程序时,它会打开 Google 具有默认坐标 (0, 0) 的地图。关于我能做什么有什么建议吗?或者采取不同的方式?

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

      Intent map_aktivitet = getIntent();

      Bundle bundle = map_aktivitet.getExtras();

      String sett_longitude = bundle.getString("longitude");
      float sett_longitude2 = bundle.getFloat(sett_longitude);

      String sett_latitude = bundle.getString("latitude");
      float sett_latitude2 = bundle.getFloat(sett_latitude);

      String name = bundle.getString("textViewName");



      LatLng home = new LatLng(sett_latitude2, sett_longitude2);
      mMap.addMarker(new MarkerOptions().position(home).title("Here lives " + name));
      mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(home, 16));
       }
String sett_longitude = bundle.getString("longitude");
float sett_longitude2 = bundle.getFloat(sett_longitude);

String sett_latitude = bundle.getString("latitude");
float sett_latitude2 = bundle.getFloat(sett_latitude);

这是完全错误的...

试试这个

String sett_longitude = bundle.getString("longitude");
float sett_longitude2 = Float.parseFloat(sett_longitude);

String sett_latitude = bundle.getString("latitude");
float sett_latitude2 = Float.parseFloat(sett_latitude);

使用Double解析marker,marker接受double:,

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

  String sett_longitude = getIntent().getStringExtra("longitude");
  double sett_longitude2 = Double.parseDouble(sett_longitude);

  String sett_latitude = getIntent().getStringExtra("latitude");
  double sett_latitude2 = Double.parseDouble(sett_latitude);

  String name = bundle.getString("textViewName");

  LatLng home = new LatLng(sett_latitude2, sett_longitude2);
  mMap.addMarker(new MarkerOptions().position(home).title("Here lives " + name));
  mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(home, 16));
   }