如何在安卓地图上刷新标记?

11

我希望刷新地图上的标记,我的地图包含不同位置和当前位置。如果服务器端添加了任何位置,则将该标记添加到我的地图中。

如何在不重新加载地图的情况下刷新我的标记?

我的代码:

if(arl.size()!=0){
                for(int j = 0;j<arl.size();j++){


              String lat =arl.get(j).get("lat").toString();
              String lng =arl.get(j).get("lng").toString();
              if ( !lat.trim().equals("") && !lng.trim().equals("") ) {
              double Hlat = Double.parseDouble(lat.trim());
              double Hlong= Double.parseDouble(lng.trim());

              LatLng dabaseLocations =new LatLng(Hlat, Hlong);

              Marker HYD = _googleMap.addMarker(new MarkerOptions()

              .position(dabaseLocations)
              .icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_AZURE))
              .flat(true));

              // Show current location with database locations

              _googleMap.clear();
                _googleMap.moveCamera(CameraUpdateFactory.newLatLng(myPosition)); 
                Marker m=_googleMap.addMarker(new   
         MarkerOptions().position(myPosition).title("start"));
               // m.setPosition(new LatLng(5,5));

                 }
               }

         }
             else{

                 // Show only Current Location

            _googleMap.moveCamera(CameraUpdateFactory.newLatLng(myPosition)); 
            _googleMap.addMarker(new     
       MarkerOptions().position(myPosition).title("start"));

        }

你需要清除地图,然后根据新数据添加标记。 - amit singh
我写了 _googleMap.clear(); 但是不起作用。 - Durga
你为什么在清除谷歌地图之前添加标记“HYD”?你只需要显示两个标记还是多于两个? - amit singh
不,我想显示所有标记和当前位置。 - Durga
不起作用,我希望标记自动更新在地图上。 - Durga
显示剩余3条评论
1个回答

4

先保存您要更新的所有标记的实例,然后当位置更新时删除标记

private Marker mCustomerMarker;

if (mCustomerMarker != null) {
            mCustomerMarker.remove();
        }

重新绘制它们。
     LatLng mCustomerLatLng = new LatLng(latitude, longitude);
     MarkerOptions options = new MarkerOptions();
     options.position(mCustomerLatLng);
     options.title(getResources().getString(R.string.pickup_marker));
            options.icon(BitmapDescriptorFactory
                    .fromResource(R.drawable.green_pin));

在谷歌地图上添加标记
mCustomerMarker = googleMap.addMarker(options);

我尝试了,但它没有成功,请根据您的想法重写我的代码。 - Durga

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接