假设我需要在纽约市提供汽车服务,当我打开应用程序并选择所需的服务时,我希望地图仅在纽约市中在该服务的地图中显示标记。 该应用现在可以显示服务的标记,但不仅在特定区域内,还可以在整个国家/地区使用。
final String selected2=spinner2.getSelectedItem().toString();
ValueEventListener postlistener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (final DataSnapshot snapshot : dataSnapshot.getChildren()) {
Service service = snapshot.getValue(Service.class);
try{
if (service.getTypes().equals(selected2)) {
lat = service.getLat();
lon = service.getLon();
final LatLng point = new LatLng(lat, lon);
mMap.addMarker(new MarkerOptions()
.position(point)
.title(service.getNomservice())
.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_RED))
.snippet("Horaire d'ouverture:"+service.getTime())
);
请帮助。
答案 0 :(得分:1)
您可以使用mMap.getProjection().getVisibleRegion().latLngBounds
来获取地图可见区域的边界框,然后只需不添加任何在该边界框之外具有经/纬度的服务。
此外,使用Service
作为此应用程序要提供的任何服务的名称可能不是一个好主意,因为Service
已被android广泛使用。