On the UWP and Windows Phone 8.1 platforms, the VisibleRegion property of the Map is being calculated incorrectly and results in latitude and longitude spans that are half the correct values.
The error is in https://github.com/xamarin/Xamarin.Forms/blob/master/Xamarin.Forms.Maps.UWP/MapRenderer.cs, lines 217 and 218. The current code is:
var latitudeDelta = Math.Abs(center.Latitude - boundingBox.NorthwestCorner.Latitude);
var longitudeDelta = Math.Abs(center.Longitude - boundingBox.NorthwestCorner.Longitude);
The correct code is:
var latitudeDelta = Math.Abs(boundingBox.SoutheastCorner.Latitude - boundingBox.NorthwestCorner.Latitude);
var longitudeDelta = Math.Abs(boundingBox.SoutheastCorner.Longitude - boundingBox.NorthwestCorner.Longitude);
Alternatively, the current line 219
Element.VisibleRegion = new MapSpan(center, latitudeDelta, longitudeDelta);
can be changed to:
Element.VisibleRegion = new MapSpan(center, 2* latitudeDelta, 2 * longitudeDelta);
*** Bug 48375 has been marked as a duplicate of this bug. ***
So, confirmed and with a given fix for almost a year ago. Still not fixed...
Microsoft is really showing their last, valiant, UWP-developers respect. NOT.
Should be fixed on 2.3.5-pre1
Have verified the bug with latest forms build version 188.8.131.526-pre6.
Issue is seems to be fixed with latest build as well.
Now the fixed code is added in the forms samples & user is able to see the correct location on map.