Android Question OSMDroid and many markers at loop..

Magma

Expert
Licensed User
Longtime User
Hi there,

i am trying to see live tracking of 10 cars (getting for server html - parsing succesful) in time - First time (1st loop) all OK but the second and then i am getting the following message:
"...Object should first be initialized (GeoPoint)"

the code:
B4X:
Sub JobDone (job As HttpJob)
 
  If job.Success = True Then
      Select job.JobName
        Case "Job8"        
            Dim Markers As List
            t=job8.GetString2("GREEK").trim
      
            If fs=False Then
                MarkersOverlay1.RemoveMarkers
                Else
            MarkersOverlay1.Initialize(MapView1, "MarkersOverlay1")
              MapView1.AddOverlay(MarkersOverlay1)
            End If
 
            Markers.Initialize
            Dim car As String, llat As String, llng As String, lspeed As String, lmsg As String
            Dim lllat As Float, lllng As Float, lllspeed As Float
            Dim hx As Long, gx As Long, wp As Long
            hx=0
            gx = 1
            wp = 0
            Do While hx<t.Length
                If gx<=5  Then
                    Select Case gx
                        Case 1
                            wp=wp+1
                            car = t.SubString2(hx,t.IndexOf2("|",hx)).trim
                            hx = t.IndexOf2("|",hx)+1
                        Case 2
                            llat = t.SubString2(hx,t.IndexOf2("|",hx)).trim
                            hx = t.IndexOf2("|",hx)+1
                        Case 3
                            llng= t.SubString2(hx,t.IndexOf2("|",hx)).trim
                            hx = t.IndexOf2("|",hx)+1
                        Case 4
                            lspeed= t.SubString2(hx,t.IndexOf2("|",hx)).trim
                            hx = t.IndexOf2("|",hx)+1
                        Case 5
                            lmsg = t.SubString2(hx, t.IndexOf2("/",hx)).trim
                            gx = 0
                            hx=t.IndexOf2("/",hx)+1
                          
                            lllat = llat.Replace(",",".")
                            lllng = llng.Replace(",",".")
                            lllspeed = lspeed.Replace(",",".")
 
                          
                            If lllat > 0 AND lllng > 0 Then
                            speed = lllspeed * 3.6
                            xspeed = speed
                            Dim Marker1 As Marker
                              If lmsg.trim = "SOS" Then
                                Marker1.Initialize("ID: " & car.trim, "speed: " &  xspeed & "klm/h", lllat, lllng , Icon2)
                            Else
                                Marker1.Initialize("ID: " & car.trim, "speed: " &  xspeed & "klm/h", lllat, lllng , Icon)
                            End If
                            Markers.Add(Marker1)
                            MarkersOverlay1.AddMarkers(Markers)
                            End If
                    End Select
                gx=gx+1
                End If
            Loop
 
            If fs Then
                  TileSource="Mapnik"
                  MapView1.FitMapToBoundingBox(MarkersOverlay1.GetBoundingBox)
                  fs=False
            Else
                MapView1.Zoom=ZoomLevel
                MapView1.SetCenter3(MapCenter)
            End If      
          
      End Select
  End If
  job.Release
  Timer3.Enabled = True
End Sub
 
Top