У меня есть два экрана карты - первый экран видит пользователь и может поставить маркер с нужной для него иконкой, второй экран видит волонтёр, который может ему помочь. Как создать базу данных маркеров с иконками (или если есть другой выход)? Мне нужно сделать так, чтоб все те, кому нужна помощь появлялись на экране волонтёра с той иконкой, что они выбрали.
pickupLocation = new LatLng(lastLocation.getLatitude(), lastLocation.getLongitude());
AlertDialog.Builder builder = new AlertDialog.Builder(PersonMapActivity.this);
builder.setTitle("Я нуждаюсь в ");
// add a list
String[] animals = {"Лекарства", "Продукты", "СИЗ", "Попутка", "Помощь(SOS)"};
final MarkerOptions markerOptions = new MarkerOptions();
markerOptions.position(pickupLocation);
builder.setItems(animals, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
switch (which) {
case 0:
mMap.clear();
markerOptions.title("Лекарства").icon(BitmapDescriptorFactory.fromResource(R.mipmap.medicine));
mPersonMarker = FirebaseDatabase.getInstance().getReference().child("Users").child("personRequest").child("Маркер");
mPersonMarker.child("personRequest").setValue(markerOptions);
mMap.addMarker(markerOptions);
break;
case 1:
mMap.clear();
markerOptions.title("Продукты").icon(BitmapDescriptorFactory.fromResource(R.mipmap.diet));
mPersonMarker = FirebaseDatabase.getInstance().getReference().child("Users").child("personRequest").child("Маркер");
mPersonMarker.child("personRequest").setValue(markerOptions);
mMap.addMarker(markerOptions);
break;
case 2:
mMap.clear();
markerOptions.title("СИЗ").icon(BitmapDescriptorFactory.fromResource(R.mipmap.oxygen));
mPersonMarker = FirebaseDatabase.getInstance().getReference().child("Users").child("personRequest").child("Маркер");
mPersonMarker.child("personRequest").setValue(markerOptions);
mMap.addMarker(markerOptions);
break;
case 3:
mMap.clear();
markerOptions.title("Попутка").icon(BitmapDescriptorFactory.fromResource(R.mipmap.car));
mPersonMarker = FirebaseDatabase.getInstance().getReference().child("Users").child("personRequest").child("Маркер");
mPersonMarker.child("personRequest").setValue(markerOptions);
mMap.addMarker(markerOptions);
break;
case 4:
mMap.clear();
markerOptions.title("Помощь(SOS)").icon(BitmapDescriptorFactory.fromResource(R.drawable.help));
mPersonMarker = FirebaseDatabase.getInstance().getReference().child("Users").child("personRequest").child("Маркер");
mPersonMarker.child("personRequest").setValue(markerOptions);
mMap.addMarker(markerOptions);
break;
}
}
});
// create and show the alert dialog
AlertDialog dialog = builder.create();
dialog.show();
}
});
}
Со стороны волонтёра код большой , могу лишь сказать , что нужно как то добавить маркеры в .icon который видит волонтёр.