gpt4 book ai didi

android - 每 1 分钟从服务器获取的 Gps LatLong 在 map 中显示为标记。但是标记正在复制

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:27:00 25 4
gpt4 key购买 nike

1.在我的应用程序中,Gps LatLong 每隔一分钟从服务器获取一次。保存在 Shared Pref 中,然后从共享 pref 获取 LatLong 在 map 上显示 Marker

2.每一分钟我都想根据 LatLong 移动标记。

3.但是同时更改标记位置。获取重复项

请帮我解决这个问题。

Oncreate 方法中,我每 60 秒在代码 fragment 下方调用一个方法。

 try
{
Thread t = new Thread()
{
@Override
public void run()
{
try
{
while (!isInterrupted())
{
Thread.sleep(60*1000);
getActivity().runOnUiThread(new Runnable()
{
@Override
public void run()
{

display_Location();
Log.i("Every 60 Second","Current Called..");

}
});
}
} catch (Exception e)
{
e.printStackTrace();
}
}
};
t.start();

}
catch (Exception e)
{
e.printStackTrace();
}

我使用的方法:

private void display_Location()
{

try
{

mLastLocation = LocationServices.FusedLocationApi.getLastLocation(mGoogleApiClient);

if (mLastLocation != null)
{
/*For Current Location ping Starts Here*/

// get user data from session
HashMap<String, String> user = session.getGPSPING();

// UserLat
String LatLongUser = "";
LatLongUser = user.get(SessionManagerFor_Register.KEY_LATLONG);




if (!LatLongUser.equals("") || LatLongUser != null)
{

Log.i(" PING on MAP LatLong", LatLongUser);

String[] LanlongArr = LatLongUser.split("//");
List<String> Lanlonglist1 = Arrays.asList(LanlongArr);



int length = Lanlonglist1.size();

/*ArrayList For adding All ArrayList items in Single(Concating)*/


arraylist_DetailLineWalker = new ArrayList<String>(length);

for (int i = 0; i < length; i++) {


arraylist_DetailLineWalker.add(Lanlonglist1.get(i)
);
}

if (arraylist_DetailLineWalker != null)
{

// Initializing
LineWalkermMarkers_arr = new ArrayList<Marker>();
// just Remove Older Line Wlaker
if (LineWalkermMarkers_arr != null) {
// LineWalker_marker1.remove();
RemoveLineWalkerMarkers();

Log.i(TAG, "LineWalker REMOVED.............................");
}


for (int i = 0; i < arraylist_DetailLineWalker.size(); i++)
{
try
{
String Val = arraylist_DetailLineWalker.get(i).toString();
//Log.i(" Validation Id",Val);
VALUE_ARRAY_STRING = Val.toString().split("::");

LatLong_DataSaveTable = VALUE_ARRAY_STRING[0].toString();



System.out.println("checking STarted LatLong::" + LatLong_DataSaveTable);

String[] latlong = LatLong_DataSaveTable.split(",");
double latitude1 = Double.parseDouble(latlong[0]);
double longitude2 = Double.parseDouble(latlong[1]);

//To hold location
LatLng latLng1 = new LatLng(latitude1, longitude2);
//To create marker in map
MarkerOptions markerOptionsLineWalker = new MarkerOptions();
markerOptionsLineWalker.position(latLng1); //setting position
markerOptionsLineWalker.draggable(true); //Making the marker draggable
markerOptionsLineWalker.title("USER LOCAITON");




markerOptionsLineWalker.icon(BitmapDescriptorFactory.fromResource(R.drawable.walker_outof_fence_icon_red));



//adding marker to the map
// googleMap.addMarker(markerOptionsLineWalker);
LineWalker_marker1 = googleMap.addMarker(markerOptionsLineWalker);

LineWalkermMarkers_arr.add(LineWalker_marker1);
// LineWalker_marker1.setPosition(latLng1);
Log.i(TAG, " NEW Line Walkers PING Added.............................");

} catch (NumberFormatException e) {
e.printStackTrace();
}

}

} else {
Log.i("MAP NEwLatLong", "TOTAL ARRY LIST NULLL");
}


}
else
{
Log.i("MAP NEwLatLong", "Null Not LatLong");

Toast.makeText(getActivity(), "Lat Long Not Available..!", Toast.LENGTH_SHORT).show();
}


}
else
{

Log.i("Location EXception", "Couldn't get the location. Make sure location is enabled on the device");
// can't get location
// GPS or Network is not enabled
// Ask user to enable GPS/network in settings
gps.showSettingsAlert();
}
}
catch (Exception ex)
{
ex.printStackTrace();
}

}


/*Remove the Linewalker*/
private void RemoveLineWalkerMarkers()
{
for (Marker marker: LineWalkermMarkers_arr)
{
marker.remove();
}
LineWalkermMarkers_arr.clear();
}

最佳答案

if(arraylist_DetailLineWalker != null && arraylist_DetailLineWalker.size()>0){
arraylist_DetailLineWalker.clear()
mMap.clear();
showMarker();
}

关于android - 每 1 分钟从服务器获取的 Gps LatLong 在 map 中显示为标记。但是标记正在复制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38281631/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com