This repository was archived by the owner on May 15, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 493
Expand file tree
/
Copy pathMapsViewModel.cs
More file actions
122 lines (98 loc) · 2.92 KB
/
MapsViewModel.cs
File metadata and controls
122 lines (98 loc) · 2.92 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
using System;
using System.Collections.Generic;
using System.Windows.Input;
using Xamarin.Essentials;
using Xamarin.Forms;
namespace Samples.ViewModel
{
public class MapsViewModel : BaseViewModel
{
string name = "Microsoft Building 25";
public string Name
{
get => name;
set => SetProperty(ref name, value);
}
string longitude = (-122.130603).ToString();
public string Longitude
{
get => longitude;
set => SetProperty(ref longitude, value);
}
string latitude = 47.645160.ToString();
public string Latitude
{
get => latitude;
set => SetProperty(ref latitude, value);
}
string locality = "Redmond";
public string Locality
{
get => locality;
set => SetProperty(ref locality, value);
}
string adminArea = "WA";
public string AdminArea
{
get => adminArea;
set => SetProperty(ref adminArea, value);
}
string thoroughfare = "Microsoft Building 25";
public string Thoroughfare
{
get => thoroughfare;
set => SetProperty(ref thoroughfare, value);
}
string country = "United States";
public string Country
{
get => country;
set => SetProperty(ref country, value);
}
string zipCode = "98052";
public string ZipCode
{
get => zipCode;
set => SetProperty(ref zipCode, value);
}
public string[] NavigationModes { get; } =
Enum.GetNames(typeof(NavigationMode));
int navigationMode;
public int NavigationMode
{
get => navigationMode;
set => SetProperty(ref navigationMode, value);
}
public ICommand MapsCommand { get; }
public ICommand LaunchPlacemarkCommand { get; }
public MapsViewModel()
{
MapsCommand = new Command(OpenLocation);
LaunchPlacemarkCommand = new Command(OpenPlacemark);
}
async void OpenLocation()
{
await Map.OpenAsync(double.Parse(Latitude), double.Parse(Longitude), new MapLaunchOptions
{
Name = Name,
NavigationMode = (NavigationMode)NavigationMode
});
}
async void OpenPlacemark()
{
var placemark = new Placemark
{
Locality = Locality,
AdminArea = AdminArea,
CountryName = Country,
Thoroughfare = Thoroughfare,
PostalCode = ZipCode
};
await Map.OpenAsync(placemark, new MapLaunchOptions
{
Name = Name,
NavigationMode = (NavigationMode)NavigationMode
});
}
}
}