2016-05-10 8 views
1

Ich verwende ein Map-Steuerelement in meiner App, und ich muss den sichtbaren Bereich so festlegen, dass es alle Pins abdecken sollte. Ironie ist der gleiche Code funktioniert nicht auf der Plattform, iOS arbeitet unbeholfen, unter Code-Ausbeute fast die gleiche sichtbare Region in beiden Plattform.MoveToRegion in Xamarin Forms Maps verhält sich seltsam

if(Device.OS == TargetPlatform.iOS) 
       customMap.MoveToRegion (MapSpan.FromCenterAndRadius (customMap.CustomPins [0].Pin.Position, Distance.FromMiles (0.20))); 
if(Device.OS == TargetPlatform.Android) 
       customMap.MoveToRegion (MapSpan.FromCenterAndRadius (customMap.CustomPins [0].Pin.Position, Distance.FromMiles (55.0))); 

Kann jemand es erklären? warum ich so programmieren muss.

Antwort

1

ich habe eine Abhilfe gefunden, ich nach einer Erklärung warte, bevor meine eigene Antwort zu akzeptieren es

Device.StartTimer(TimeSpan.FromMilliseconds(500),() => 
        { 
         customMap.MoveToRegion(MapSpan.FromCenterAndRadius(customMap.CustomPins [0].Pin.Position, Distance.FromMiles(55.0))); 
         return false; 
        }); 
+0

Keine Ahnung, warum dies auf ios funktioniert, aber es funktioniert. Vielleicht muss es über einen bestimmten Zeitraum geschehen? – xerotolerant

+0

Ja, ich habe festgestellt, dass es etwas verzögert werden muss –

Verwandte Themen