将LatLng数组保存到数据库中

时间:2017-11-24 09:48:51

标签: android arrays string list

我想将我的曲目保存为数据库中的LatLng列表。为此,我打算将其转换为字符串,然后保存在字符串字段中。

对于转换,我尝试使用此代码:

final ArrayList<LatLng> waypoints = new ArrayList<>();
waypoints.addAll(Stream.of(mFavorites)
         .map(i -> coordToLatLng(i.Latitude, i.Longitude))
         .toList());


Toast.makeText(this, waypoints, Toast.LENGTH_SHORT).show();

然后将waypoints.toString保存到数据库。

有什么更好的建议如何解决我的需求?

2 个答案:

答案 0 :(得分:0)

尝试以下内容:

LatLng latLng;
Double l1=latlng.latitude;
Double l2=latlng.longitude;
String coordl1 = l1.toString();
String coordl2 = l2.toString();

1 - 将你的lat / long转换为Double,并将它们分开;

2 - 将Double转换为String。

答案 1 :(得分:0)

如果您想在数据库中存储纬度和经度,请使用此代码,它将为您提供帮助:

只需添加LatLng变量并保存到数据库中:

String s=String.valueOf(latLng.latitude + "," + latLng.longitude)

并保存。

当想要获取并使用时,请使用以下代码:

DatabaseHelper db=new DataBaseHelper(context);
     String[] latlong = db.getLatLngValue.split(",");
                double latitude = Double.parseDouble(latlong[0]);
                double longitude = Double.parseDouble(latlong[1]);
               LatLng latLng = new LatLng(latitude, longitude);

打印此latLng变量:

它会帮助你