Thank you for your reply message, the problem was calling the repaint () component called when its position changed, the marker location should be changed every time the map is moved by a user or a page event, so I think calling repaint () caused a loop and another component draw correctly.
source share