用于保存地图标记中的数据以在其他活动android studio中使用的选项

用于保存地图标记中的数据以在其他活动android studio中使用的选项,android,google-maps,Android,Google Maps,我正在寻找关于如何在谷歌地图上保存标记数据和placepicker搜索数据的建议 我查看了共享的偏好,并尝试了代码,但不起作用 我需要从地点选择器搜索中获取地址数据并保存它,以便历史活动可以生成列表 是否有放置选择器保存搜索的选项 我正在使用android studio 这是我的位置选择器的一个例子 Place place = PlacePicker.getPlace(data, this); LatLng placeLatLng = place.getLat

我正在寻找关于如何在谷歌地图上保存标记数据和placepicker搜索数据的建议

我查看了共享的偏好,并尝试了代码,但不起作用

我需要从地点选择器搜索中获取地址数据并保存它,以便历史活动可以生成列表

是否有放置选择器保存搜索的选项

我正在使用android studio

这是我的位置选择器的一个例子

    Place place = PlacePicker.getPlace(data, this);


            LatLng placeLatLng = place.getLatLng(); // gett lat lng from place
            double placeLat = placeLatLng.latitude;
            double placeLong = placeLatLng.longitude;
            final CharSequence name = place.getName();
            final CharSequence address = place.getAddress();
            Marker destination = mMap.addMarker(new MarkerOptions().position(new LatLng(placeLat, placeLong)).title("This is your destination"));

            LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);

            //Current Location
            Criteria criteria = new Criteria();
            String provider = locationManager.getBestProvider(criteria, true);
            Location myLocation = locationManager.getLastKnownLocation(provider);

            //Current Location LatLong
            final double currentLat = myLocation.getLatitude();
            final double currentLng = myLocation.getLongitude();


            List<CharSequence> listItems = new ArrayList<>();


            //Directions From Current Location To Destination
            final Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://maps.google.com/maps?" + "saddr=" + currentLat + "," + currentLng + "&daddr=" + placeLat + "," + placeLong));
            intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
            intent.setClassName("com.google.android.apps.maps", "com.google.android.maps.MapsActivity");
            listItems.add(name);
            listItems.add(address);
            startActivity(intent);
}
    }
    public void saveInfo(View v){
        SharedPreferences sharedPreferences = getSharedPreferences("Place Deatils", Context.MODE_PRIVATE);
        SharedPreferences.Editor editor = sharedPreferences.edit();
    }
Place-Place=PlacePicker.getPlace(数据,此);
LatLng placeLatLng=place.getLatLng();//从现场获取lat lng
双placeLat=placeLatLng.纬度;
双placeLong=PlaceLatling.longitude;
final CharSequence name=place.getName();
final CharSequence address=place.getAddress();
Marker destination=mMap.addMarker(new MarkerOptions().position(new LatLng(placeLat,placeLong)).title(“这是您的目的地”);
LocationManager LocationManager=(LocationManager)getSystemService(Context.LOCATION\u服务);
//当前位置
标准=新标准();
字符串提供程序=locationManager.getBestProvider(条件为true);
Location myLocation=locationManager.getLastKnownLocation(提供者);
//当前位置LatLong
最终双currentLat=myLocation.getLatitude();
最终双电流lng=myLocation.getLongitude();
List listItems=new ArrayList();
//从当前位置到目的地的方向
最终意图=新意图(Intent.ACTION\u视图,Uri.parse(“http://maps.google.com/maps?“+”saddr=“+currentLat+”、“+currentLng+”&daddr=“+placeLat+”、“+placeLong”);
intent.setFlags(intent.FLAG\u ACTIVITY\u SINGLE\u TOP);
intent.setClassName(“com.google.android.apps.maps”,“com.google.android.maps.MapsActivity”);
添加(名称);
添加(地址);
星触觉(意向);
}
}
公共void saveInfo(视图五){
SharedReferences SharedReferences=GetSharedReferences(“放置Deatils”,Context.MODE\u PRIVATE);
SharedReferences.Editor=SharedReferences.edit();
}

使用地理编码器获取位置地址,并将信息存储在SharedReferences中

   Geocoder geocoder;
            List<Address> addresses;
            geocoder = new Geocoder(this, Locale.getDefault());

            try {
                addresses = geocoder.getFromLocation(latt,lang, 1); // Here 1 represent max location result to returned, by documents it recommended 1 to 5
                String address = addresses.get(0).getAddressLine(0); // If any additional address line present than only, check with max available address lines by getMaxAddressLineIndex()
                String area = addresses.get(0).getSubLocality();
                String dist= addresses.get(0).getSubAdminArea();
                String city = addresses.get(0).getLocality();             
                mapMarker.setTitle(area+","+dist+","+city);
            } catch (IOException e) {
                e.printStackTrace();
            }
Geocoder-Geocoder;

列表

是否从place.getName和place.getAddress的纬度和经度值中获取地址