3

AndroidデバイスのSQLLiteデータベースにマーカー情報を保存しようとしています。現在、LatLng変数をに変換しStringて保存しています。

LatLng latLng
coords = latLng.toString();

問題は、私が多くのことを試しstringましたが、latLng変数に変換して、再び使用できるようにすることです。

変数LatLngを調べるとdoubles、コンマで区切られた2つであることがわかります。分割しstringて変換しdoubles、それをとして渡すことを考えていました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 変数から 2 つの double、文字列、double に戻り、newmarker の位置に渡されると機能します!

:)

于 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 に答える