在項目中,我要跟蹤通過谷歌地圖的任何車輛。在這種情況下,我必須在1分鐘後更新標記位置。但我的問題是,每次谷歌地圖刷新。這裏是我的代碼:如何在不重裝android的情況下更新google地圖?
public class MapsActivity extends FragmentActivity {
private GoogleMap mMap;
String json_string;
JSONObject mJSONObject;
JSONArray mJSONArray;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_maps);
json_string = getIntent().getExtras().getString("json_data");
mMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map))
.getMap();
try {
mJSONObject = new JSONObject(json_string);
mJSONArray = mJSONObject.getJSONArray("server_response");
String lat,lon,imei;
for(int i=0;i<mJSONArray.length();i++) {
JSONObject jo = mJSONArray.getJSONObject(i);
imei = jo.optString("IMEI");
lat = jo.optString("Lattitude");
lon = jo.optString("Longitude");
setUpMapIfNeeded(imei,lat,lon);
}
} catch (JSONException e) {
e.printStackTrace();
}
}
private void setUpMapIfNeeded(String imei, String lat, String lon) {
if (mMap != null) {
double currentLatitude = Double.parseDouble(lat);
double currentLongitude = Double.parseDouble(lon);
LatLng latLng = new LatLng(currentLatitude, currentLongitude);
CameraPosition cameraPosition = new CameraPosition.Builder().target(
new LatLng(currentLatitude, currentLongitude)).zoom(18).build();
MarkerOptions options = new MarkerOptions()
.position(latLng)
.title(imei);
mMap.addMarker(options);
mMap.getUiSettings().setMyLocationButtonEnabled(true);
mMap.getUiSettings().setZoomGesturesEnabled(true);
mMap.getUiSettings().setZoomControlsEnabled(true);
mMap.setBuildingsEnabled(false);
mMap.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
}
}
}
請幫助我,因爲我想不獲取地圖重新加載每個標記得到了更新的時間。
你能舉個例子嗎? –
檢查我更新的代碼 – Eenvincible
誰下了票,請添加評論給出一個理由 – Eenvincible