在项目中,我要跟踪通过谷歌地图的任何车辆。在这种情况下,我必须在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