When a new pin is added, the map is supposed to make sure that all pins (including newly added) are visible to the user. So,
- if current position/scale are good enough, nothing changed
- try just changing position (without affecting zoom) to make all pins visible
- at last, change position and zoom to make all pins visible
Sounds like you do syncing virtual pins on conecting to server in your skecth…