Java 如何通过单击按钮打印存储在ArrayList中的标记?
标记由用户放在地图上,并存储在使用SQLite存储的ArrayList中。标记如下所示。 当用户单击View时,数据恢复如下。 当用户单击“更新”按钮时,视图上的所有标记都应绘制在地图上。如何以及应该使用什么代码来绘制ArrayList(LatLongposition)中的值? 如何在地图标记上绘制阵列列表(LatLongposition)Java 如何通过单击按钮打印存储在ArrayList中的标记?,java,android,sqlite,google-maps,arraylist,Java,Android,Sqlite,Google Maps,Arraylist,标记由用户放在地图上,并存储在使用SQLite存储的ArrayList中。标记如下所示。 当用户单击View时,数据恢复如下。 当用户单击“更新”按钮时,视图上的所有标记都应绘制在地图上。如何以及应该使用什么代码来绘制ArrayList(LatLongposition)中的值? 如何在地图标记上绘制阵列列表(LatLongposition) private void UpdatData() { btnUpdate.setOnClickListener(new View.OnClick
private void UpdatData() {
btnUpdate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//LatLongPosition is a object of the ArrayList
boolean isUpdate = myDb.updateData(id.getText().toString(), LatLongPosition);
PolylineOptions polylineOptions = new PolylineOptions().addAll(LatLongPosition);
Polyline p = GoogleMap.addPolyline(polylineOptions);
p.setPoints(LatLongPosition);
/*if (marker1 == null) {
marker1 = GoogleMap.addMarker(new MarkerOptions()
.position(p)
.title("Start Position")
.snippet(String.valueOf(googleMap.getCameraPosition()))
.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_BLUE))
);*/
if (isUpdate == true)
Toast.makeText(ActivityMapDisplay.this, "Data Updated", Toast.LENGTH_SHORT).show();
else
Toast.makeText(ActivityMapDisplay.this, "Data Not Updated", Toast.LENGTH_SHORT).show();
}
});
}
您只需迭代您的
列表
:
for (LatLng position : LatLongPosition) {
GoogleMap.addMarker(new MarkerOptions()
.position(position)
.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_BLUE)));
}
无论如何,要考虑到您必须遵循代码约定,并且变量名必须以小写字符开头。因此,您的
GoogleMap
必须命名为GoogleMap
,您的LatLongPosition
变量必须命名为LatLongPosition
我是否应该在DatabaseHelper类上编写一些代码?对于更新方法?因为我确实输入了上面的代码,但是没有绘制标记。你的LatLng数组列表的名称是什么?onClick方法上的ArrayList是否为空?其-private final ArrayList LatLongPosition=new ArrayList(),ArrayList在onClick方法上时不是空的,它是否进入for循环?是的,我用toast.而不是Log进行了检查。