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

时间:2018-08-30 12:13:52

标签: android android-maps-v2

假设我需要在纽约市提供汽车服务,当我打开应用程序并选择所需的服务时,我希望地图仅在纽约市中在该服务的地图中显示标记。 该应用现在可以显示服务的标记,但不仅在特定区域内,还可以在整个国家/地区使用。

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

                              );

请帮助。

1 个答案:

答案 0 :(得分:1)

您可以使用mMap.getProjection().getVisibleRegion().latLngBounds来获取地图可见区域的边界框,然后只需不添加任何在该边界框之外具有经/纬度的服务。

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