/// <summary> /// Adds a new stop. /// </summary> public uint Add(float latitude, float longitude, uint metaId) { var id = _nextId; _nextId++; var size = _data.Length; while ((id * SIZE + SIZE) > size) { size += BLOCK_SIZE; } if (size != _data.Length) { _data.Resize(size); } _data[id * SIZE + 0] = StopsDb.Encode(latitude); _data[id * SIZE + 1] = StopsDb.Encode(longitude); _data[id * SIZE + 2] = metaId; return(id); }