我正在开发一个应用程序,它通过Firebase
从GeoQuery
获取位置,并在GeoQuery提取的每个位置显示标记。但问题是如果位置的纬度和经度相同,则标记彼此重叠并且仅显示一个标记。但是我希望显示具有相同位置的多个标记。
我从firebase获取位置并将标记显示为:
GeoQuery geoQuery = geoFire.queryAtLocation(new GeoLocation(mLastLocation.getLatitude(),
mLastLocation.getLongitude()), 3);
geoQuery.addGeoQueryEventListener(new GeoQueryEventListener() {
@Override
public void onKeyEntered(String key, GeoLocation location) {
MarkerOptions markerOptions = new MarkerOptions();
LatLng latLng = new LatLng(location.latitude,location.longitude);
markerOptions.position(latLng);
try {
markerOptions.icon(bitmapDescriptorFromVector(getContext(), R.drawable.ic_marker));
} catch (Exception ex){}
mGoogleMap.addMarker(markerOptions);
}
@Override
public void onKeyExited(String key) {}
@Override
public void onKeyMoved(String key, GeoLocation location) {}
@Override
public void onGeoQueryReady() {}
@Override
public void onGeoQueryError(DatabaseError error) {}
});
LocationServices.FusedLocationApi.requestLocationUpdates(mGoogleApiClient, mLocationRequest, this);
}