3

我正在尝试将标记信息存储在 Android 设备上的 SQL Lite 数据库中,我目前正在将LatLng变量转换为 aString并以这种方式保存。

LatLng latLng
coords = latLng.toString();

问题是,我已经尝试了很多事情,将string返回转换为latLng变量,以便可以再次使用它。

查看LatLng变量,我看到它是doubles由逗号分隔的两个变量,我正在考虑拆分string并转换为doubles然后将其作为 a 传递,Latlng但我不知道如何在 Android 中执行此操作。

关于如何做到这一点的任何想法?

4

3 回答 3

10

我通过这样做解决了它:

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


googleMap.addMarker(new MarkerOptions()
                    .position(new LatLng(l1, l2))
                    .title(title)
                    .snippet(info));

所以从一个 Latlng 变量到两个双打,再到字符串,再回到双打并传递到新标记位置,它就可以工作了!

:)

于 2013-02-07T12:25:51.620 回答
3

我将经纬度分开保存,也许这也是您的解决方案

LocationManager lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE); 
Location location = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);
double longitude = location.getLongitude();
double latitude = location.getLatitude();
于 2013-02-07T08:30:47.373 回答
1

作为替代方案,您可以将位置存储在SharedPreferences. 这是TypedPreferences 库LatLngPreference帮助程序类,可以轻松完成此操作。

于 2015-02-11T15:45:51.593 回答