summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla38284.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla38284.cs')
-rw-r--r--Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla38284.cs77
1 files changed, 77 insertions, 0 deletions
diff --git a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla38284.cs b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla38284.cs
new file mode 100644
index 00000000..f476e563
--- /dev/null
+++ b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla38284.cs
@@ -0,0 +1,77 @@
+using System;
+
+using Xamarin.Forms.CustomAttributes;
+using Xamarin.Forms.Internals;
+using Xamarin.Forms.Maps;
+
+
+namespace Xamarin.Forms.Controls
+{
+ [Preserve(AllMembers = true)]
+ [Issue(IssueTracker.Bugzilla, 38284, "when creating a map in iOS, if the map is not visible when the page is created the zoom level is offn")]
+ public class Bugzilla38284 : TestContentPage // or TestMasterDetailPage, etc ...
+ {
+ Map map1;
+ Map map2;
+ double Latitude = 28.032005;
+ double Longitude = -81.948931;
+ string LocationTitle = "Someplace Cool";
+ string StreetAddress = "";
+
+ protected override void Init()
+ {
+ var stack = new StackLayout();
+
+ map1 = new Maps.Map
+ {
+ IsShowingUser = false,
+ WidthRequest = 320,
+ HeightRequest = 200
+ };
+
+ map2 = new Maps.Map
+ {
+ IsShowingUser = false,
+ WidthRequest = 320,
+ HeightRequest = 200
+ };
+
+
+ var btn = new Button { Text = "Show" };
+ btn.Clicked += (sender, e) =>
+ {
+ map2.IsVisible = !map2.IsVisible;
+ };
+
+ stack.Children.Add(map1);
+ stack.Children.Add(map2);
+ stack.Children.Add(btn);
+ DisplayMaps();
+ Content = stack;
+ }
+
+ public void DisplayMaps()
+ {
+ map2.IsVisible = false;
+ var mapPinPosition = new Position(Latitude, Longitude);
+
+ var type = MapType.Satellite;
+ map1.MapType = type;
+ map2.MapType = type;
+ var pin = new Pin
+ {
+ Type = PinType.Place,
+ Position = mapPinPosition,
+ Label = LocationTitle,
+ Address = StreetAddress
+ };
+ map1.Pins.Add(pin);
+ map2.Pins.Add(pin);
+
+ // Move the map to center on the map location with the proper zoom level
+ var lldegrees = 360 / (Math.Pow(2, 16));
+ map1.MoveToRegion(new MapSpan(map1.Pins[0].Position, lldegrees, lldegrees));
+ map2.MoveToRegion(new MapSpan(map2.Pins[0].Position, lldegrees, lldegrees));
+ }
+ }
+}