Hello Peter,
There are various things to consider here. One thing require to take a look at the below code:
We have what we expected inside "querySnapshot", but, this is not an Array of Objects variable. In fact, to get access to the records sent to us by the server, we must use what you already do: the "forEach" over the "querySnapshot" variable, and then, once we get the "doc", retrieve the record using the "doc.data()" method.
So in fact you no need to convert any Array of objects variable to any Array of arrays variable: you can just prepare your Array (with markers information) in a way like the below one:
But here is the other thing to be considered: you can't just initiate the map and prepare the markers just by write the right code below the above code, because that code is executed in an asynchronous, so, if you write something like the below:
... the "alert" is executed before our "markersInfo" variable has been completely feed. So what to do? Just wait for the variable to be feeded:
The "initMap()" function is executed when our "markersInfo" variable is already feeded, so, we can then create the map, and then iterate the Array variable to place the right marks inside the map. All the code is below: you can place in the Show event of the "View1" of the sample app that you linked before:
May we can enhance the above code, for example, to move the "initMap" and other functions into the "app functions manager", or maybe some changes are required, but, I hope that that code can help you to give an idea at least. Post here if you have further question, Peter.