I find a phase3 example: Tilemap > collision > matter platformer modify map
In this example, rotation forbidding is achieved by using the setFixedRotation() function on the sprite.
Also, in this example, it uses a smoothMoveCameraTowards() function to make the camera follow the player. If I change it to
this.cameras.main.startFollow(this.player);
gaps also appear between tiles. So I guess this maybe a solution.