如何刷新Android上的地图上的标记?

我想刷新地图中的markers ,我的地图包含与当前位置不同的位置。 如果服务器端添加任何位置,然后在我的地图中添加该标记。

如何在没有加载图的情况下刷新标记?

我的代码

 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")); } 

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

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

在Google地图中添加标记

 mCustomerMarker = googleMap.addMarker(options);