Я в настоящее время сталкиваюсь с проблемой, у меня есть список маркеров, который содержит широту и долготу, собранные из базы данных, вот мой код
Я сделал обработчик для запуска на фоне
Runnable updateMarker = new Runnable() {
@Override
public void run() {
// try {
//// Thread.sleep(20000);
// } catch (InterruptedException e) {
// e.printStackTrace();
// }
mGoogleMap.clear();
Marker_initate();
for(int i =0;i<myList.size();i++)
mGoogleMap.addMarker(myList.get(i));
handler.postDelayed(this, MARKER_UPDATE_INTERVAL);
}
};
marker_initate
private void Marker_initate() {
myList.removeAll(myList);
String count_url = extetenstion + "://" + lcl + "/marker_count.php";
String marker_url = extetenstion + "://" + lcl + "/marker.php";
try {
String s = new Sender(count_url,"count").execute().get();
Toast.makeText(getApplicationContext(),s,Toast.LENGTH_LONG);
s=s.replace("<br>","").trim();
int num_of_markers = Integer.parseInt(s);
for (int i=1;i<=num_of_markers;i++)
{
String currnet_marker = new Sender(marker_url,"c"+i).execute().get();
String[] long_lat=currnet_marker.split(" ");
for (int j=0;j<long_lat.length;j++)
long_lat[j]=long_lat[j].replaceAll("<br>","").replaceAll("\n","");
LatLng latLng = new LatLng(Double.valueOf(long_lat[0]),Double.valueOf(long_lat[1]));
MarkerOptions options = new MarkerOptions()
.position(latLng)
.visible(true);
myList.add(0, options);
Toast.makeText(getApplicationContext(), long_lat[0]+" "+long_lat[1], Toast.LENGTH_SHORT).show();
}
} catch (ExecutionException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
мне нужно сделать специальный оконный адаптер для каждого маркера, см. windows для получения дополнительной информации
это приложение для мониторинга отправления автобуса введите описание изображения здесь
, как вы видите, каждый маркер имеет разный вид введите описание изображения здесь
введите описание изображения здесь