マップに複数のマーカーを挿入できます。しかし、私がFirebaseデータベースに挿入するとき、挿入されるのは最後のマーカだけです。私はリストやハッシュマップのいくつかを使用しなければならないと思っています。Android - push()を使用して複数のマーカーを挿入する
POJOクラス:
public class FirebaseMarker {
String address;
String time;
double latitude;
double longitude;
String routeId;
public FirebaseMarker() {
}
public FirebaseMarker(String address, String time, double latitude, double longitude, String routerId) {
this.address = address;
this.time = time;
this.latitude = latitude;
this.longitude = longitude;
this.routeId = routerId;
}
public String getRouterId() {
return routeId;
}
public void setRouterId(String routerId) {
this.routeId = routerId;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getTime() {
return time;
}
public void setTime(String time) {
this.time = time;
}
public double getLatitude() {
return latitude;
}
public void setLatitude(double latitude) {
this.latitude = latitude;
}
public double getLongitude() {
return longitude;
}
public void setLongitude(double longitude) {
this.longitude = longitude;
}
}
マーカーの作成:
私は挿入していますどのようにList<Marker> markers;
markers = new ArrayList<>();
Marker marker = mMap.addMarker(new MarkerOptions()
.position(latLng)
.title(address)
.snppet(time)
.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_RED)));
markers.add(marker);
:
//FirebaseMarker marker = new FirebaseMarker(address, time, latitude, longitude, routeId);
markerId = userRef.push().getKey();
userRef.child(sharedPreferences.getString("school",null)).child("markers").child(markerId).setValue(markers);
パラメータは、ユーザ入力からジオコーダー
からの両方であります
マップにマーカーを追加するコードを共有できますか?私は、このマーカーを 'List'または' HashMap'に追加する必要があると思います。そして、そのボタンが押されたときにそのリストをデータベースに保存する必要があります。 – Grimthorr
投稿を編集しました。私はマーカを追加するリストを持っており、データベースにリストを挿入します。これは効果がありますか? – JDoe