我有一個android應用程序,用戶可以註冊,當它們登錄到他們的位置時,可以通過地圖上的標記看到,如圖所示。但我只想在100米內顯示附近的標記。Android - 如何顯示附近的用戶標記?
請幫我準確的編碼部分和所有的對象初始化。
這是我從數據庫中獲取所有用戶標記(緯度,經度)代碼:
private void getNearbyMarkers(){
geoFireRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot locationSnapshot : dataSnapshot.getChildren()){
LocationData locations = locationSnapshot.getValue(LocationData.class);
final Double tempLat = Double.parseDouble(locations.getLatitude());
final Double tempLng = Double.parseDouble(locations.getLongitude());
final String uid = locations.getUid();
databaseReference3.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
String name = dataSnapshot.child(uid).child("name").getValue().toString();
String business = dataSnapshot.child(uid).child("business").getValue().toString();
LatLng allLatLang = new LatLng(tempLat,tempLng);
MarkerOptions markerOptions = new MarkerOptions();
markerOptions.position(allLatLang);
markerOptions.title(name);
markerOptions.snippet(business);
markerOptions.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_ORANGE));
locationMarker = mMap.addMarker(markerOptions);
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
非常感謝您在這方面的時間和幫助。
我只是'改變locationMarker = mMap.addMarker(markerOptions.visible(false));' 這是一個完美的答案,謝謝如此如此這般如此如此^ _ ^ – Tamim