gpt4 book ai didi

android - Google Maps API 保存标记并在下次启动时加载它们

转载 作者:太空狗 更新时间:2023-10-29 15:09:29 25 4
gpt4 key购买 nike

相当蹩脚的标题,但这正是我想要弄清楚的。我只想能够在 map 上长按创建标记,然后将这些标记保存在数据库、首选项、数组列表中,我不知道,只是在一些持久存储中,它们不会被删除下次开始申请。我想保持简单,如果只需要共享偏好就可以,请告诉我怎么做。这是代码

public class MainActivity extends Activity implements ParsingCallback {

private GoogleMap mMap;
Marker marker = null;
String s;
GoogleMapOptions options;
LocationManager lm;
LatLng userLocation;
Location location;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
options = new GoogleMapOptions();
mMap = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap();
lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
listOfPoints = new ArrayList<SavedMarkers>();
mMap.setMapType(GoogleMap.MAP_TYPE_SATELLITE);
mMap.setMyLocationEnabled(true);
mMap.getUiSettings().setCompassEnabled(true);
mMap.getUiSettings().setRotateGesturesEnabled(true);
mMap.getUiSettings().setZoomGesturesEnabled(true);
mMap.getUiSettings().setMyLocationButtonEnabled(true);
}

/** On Map Long Click */
mMap.setOnMapLongClickListener(new OnMapLongClickListener() {

@Override
public void onMapLongClick(LatLng arg0) {
mMap.addMarker(new MarkerOptions().position(arg0).title(arg0.toString()));
Toast.makeText(getApplicationContext(), "Marker Created", Toast.LENGTH_SHORT).show();

}
});
}
}

最佳答案

使用 Gson 序列化和反序列化您的 SavedMarkers 数组列表。

Type listOfMarkers = new TypeToken<List<SavedMarkers>>(){}.getType();
String stringToSaveInSharedPreferences = gson.toJson(list, listOfMarkers);
List<SavedMarker> markers = gson.fromJson(stringRetrievedFromSharedPreferences,listOfMarkers)

;

关于android - Google Maps API 保存标记并在下次启动时加载它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18145646/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com