Add marker-placement logic, replacing placeholder logic

* Now store markers in std::vector, for simpler position updates