One overload of RectangleShape constructor is RectangleShape(minX, maxY, maxX, minY) which I think you are using, so the RectangleShape should be created like this new RectangleShape(-180, 90, 180, -90); Please have a try.
You are welcome. And so that this mistake does not happen again, picture this in your head and you will always have the correct bounding box set for your map:
Normally, to define a rectangle, we usually define its upper left point and lower right point; for example System.Windows.Rect does this way. You might notice that we have another overload of RectangleShape that is RectangleShape(PointShape upperLeftPoint, PointShape lowerRightPoint); so we defined the order following it that is RectangleShape(double minX, double maxY, double maxX, double minY). In another word, if we use the order you are using, we need to change the other constructor to RectangleShape(PointShape lowerLeftPoint, PointShape upperRightPoint). Hope it makes sense.