آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

حذف نشدن مارکر های گوگل مپ با متد clear() و remove()

Arvin  8 سال پیش  8 سال پیش
0 0

من دارم روی برنامه یوزر ترکینگ کار میکنم به این معنی که محل کاربر رو نشون میده (تقریبا شبیه اسنپ هست)

کدی که نوشتم این هست ولی با این حال وقتی مارکر حذف میشه بعد از اد کردن مارکر جدید بازهم مارکر های قبلی که حذف شده بودن اد میشن !!!

 
@Override
public void onMapReady(final GoogleMap googleMap) {
map = googleMap;
map.getUiSettings().setMyLocationButtonEnabled(false);
map.setMyLocationEnabled(false);

new Timer().scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
Webi.with(getContext())
.from("address")
.onResponse(new OnResponse() {
@Override
public void Response(String content, String s1) {

try {
JSONArray arr = new JSONArray(content);
if(arr.length() > 0) {
for (int i = 0; i < arr.length(); i++) {
JSONObject jobj = arr.getJSONObject(i);

name.add(jobj.getString("driverid"));
lat.add(jobj.getString("lat"));
latlong.add(jobj.getString("longlat"));
time.add(jobj.getString("time"));
}

getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
map.clear();
for(int index = 0; index < name.size(); index++) {
final int finalIndex = index;
try {
LatLng point = new LatLng(Double.parseDouble(lat.get(finalIndex)),Double.parseDouble(latlong.get(finalIndex)));
MarkerOptions markerOptions = new MarkerOptions()
.position(point)
.title(name.get(finalIndex))
.icon(BitmapDescriptorFactory.fromResource(R.drawable.bus_pin));
marker = map.addMarker(markerOptions);
markers.add(marker);
} catch (Exception e) {
e.printStackTrace();
}
}
}
});
} else {
Toast.makeText(getActivity(), "چیزی پیدا نشد !", Toast.LENGTH_SHORT).show();
map.clear();
}
} catch (Exception e) {
map.clear();
e.printStackTrace();
}
}
}).connect();
}
}, 0, 10000);
LatLng university = new LatLng(36.2497511,58.8287331);
CameraPosition cameraPosition = new CameraPosition.Builder()
.target(university)
.zoom(17)
.bearing(90)
.tilt(40)
.build();
map.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
}

private Runnable runnable = new Runnable() {
@Override
public void run() {
try {
for(int index = 0; index < markers.size(); index++) {
marker = markers.get(index);
marker.remove();
map.clear();
}
} catch (Exception e) {
e.printStackTrace();
}
handler.postDelayed(this, 9000);
}
};
 برای این سوال پاسخی وجود ندارد.

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .