【发布时间】:2018-01-26 14:49:27
【问题描述】:
我有一个 android 应用程序,用户可以在其中注册,当他们登录时,他们的位置可以通过地图上的标记可见,如图所示。但我只想显示 100 米内附近的标记。
请帮助我完成准确的编码部分和所有对象初始化。
这是我从数据库中获取所有用户标记(lat、lng)的代码:
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) {
}
});
}
非常感谢您在此问题上的时间和帮助。
【问题讨论】:
标签: android google-maps google-maps-api-3 google-maps-markers