首页 > 解决方案 > 如何将谷歌地图搜索结果限制在特定区域

问题描述

假设我在 NYC 需要汽车服务,当我打开应用程序并选择我需要的服务时,我希望地图在 NYC 的该服务的地图中显示标记。该应用程序现在显示服务的标记,但在整个国家不只是在特定区域。

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

                              );

请帮忙。

标签: androidandroid-maps-v2

解决方案


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

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


推荐阅读