0
标记由用户放在地图上,并存储在使用SQLite存储的ArrayList中。标记如下所示。 如何通过点击按钮来绘制存储在ArrayList中的标记?
当用户点击更新按钮时,View上的所有标记都应该绘制在Map上。我应该如何使用哪些代码来绘制ArrayList(LatLongposition)中的值? 我如何在地图标记上绘制ArrayList(LatLongposition)?
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();
}
});
}
我应该在DatabaseHelper类上编写一些代码吗?更新方法?因为我确实把上面的代码,但标记不被绘制。 –
LatLng的ArrayList的名称是什么?您的ArrayList是否在您的onClick方法上为空? – antonio
它的私人最终ArrayList LatLongPosition = new ArrayList <>(); ArrayList在onClick方法中不是空的 –