Android 如何将谷歌地图搜索结果限制在特定区域

Android 如何将谷歌地图搜索结果限制在特定区域,android,android-maps-v2,Android,Android Maps V2,假设我在纽约需要一项汽车服务,当我打开应用程序并选择我需要的服务时,我希望地图在该服务的地图上显示标记,就在纽约。 该应用程序现在显示了该服务的标记,但在整个国家,而不仅仅是在一个特定的地区 final String selected2=spinner2.getSelectedItem().toString(); ValueEventListener postlistener = new ValueEventListener() { @Over

假设我在纽约需要一项汽车服务,当我打开应用程序并选择我需要的服务时,我希望地图在该服务的地图上显示标记,就在纽约。 该应用程序现在显示了该服务的标记,但在整个国家,而不仅仅是在一个特定的地区

 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())

                              );
请提供帮助。

您可以使用mMap.getProjection.getVisibleRegion.latLngBounds来获取地图可见区域的边界框,然后不要添加任何在该边界框之外具有lat/lon的服务


此外,使用Service作为该应用程序要提供的任何服务的名称可能不是一个好主意,因为android已经广泛使用该服务。

显示您的代码以及您试图解决问题的方法,我只尝试了在列表中显示所选服务的所有标记的部分您想只显示该区域的标记,还是让地图只放大到该区域?我想标记只显示在用户放大的区域中您能告诉我如何进行此测试,这是我写的,但如果mmap.getProjection.getVisibleRegion.latLngBounds.containspoint该点实际上是一个latlon变量,请查看此处的文档[,然后确保坐标大于左上角坐标,小于右下角坐标。