diff options
author | jcmanke <jmanke1227@gmail.com> | 2017-04-11 17:52:04 -0500 |
---|---|---|
committer | Rui Marinho <me@ruimarinho.net> | 2017-04-11 23:52:04 +0100 |
commit | dfda41b0bdc0ea80f548e3c919f14e8094c6cb25 (patch) | |
tree | 32dbdc4a31899c3c5e31329ad9d86bca21c4e235 /Xamarin.Forms.Maps | |
parent | b832b67875789f2fccea5077c86238e75cf373ff (diff) | |
download | xamarin-forms-dfda41b0bdc0ea80f548e3c919f14e8094c6cb25.tar.gz xamarin-forms-dfda41b0bdc0ea80f548e3c919f14e8094c6cb25.tar.bz2 xamarin-forms-dfda41b0bdc0ea80f548e3c919f14e8094c6cb25.zip |
Map renderer extensibility (#844)
* Added extensibility features to Maps
Android MapRenderer:
- Moved map initialization to protected virtual method OnMapReady, called by explicit implementation of IOnMapReady
- Added protected virtual method CreateMarker for customization of pins
iOS MapRenderer:
- Added protected virtual method CreateAnnotation for customization of pins
Pin:
- Unsealed the Pin class
- Made Label a bindable property
* [Docs] Update docs
Diffstat (limited to 'Xamarin.Forms.Maps')
-rw-r--r-- | Xamarin.Forms.Maps/Pin.cs | 19 |
1 files changed, 6 insertions, 13 deletions
diff --git a/Xamarin.Forms.Maps/Pin.cs b/Xamarin.Forms.Maps/Pin.cs index 6c0fb556..912c30e8 100644 --- a/Xamarin.Forms.Maps/Pin.cs +++ b/Xamarin.Forms.Maps/Pin.cs @@ -2,7 +2,7 @@ namespace Xamarin.Forms.Maps { - public sealed class Pin : BindableObject + public class Pin : BindableObject { public static readonly BindableProperty TypeProperty = BindableProperty.Create("Type", typeof(PinType), typeof(Pin), default(PinType)); @@ -10,9 +10,7 @@ namespace Xamarin.Forms.Maps public static readonly BindableProperty AddressProperty = BindableProperty.Create("Address", typeof(string), typeof(Pin), default(string)); - // introduced to store the unique id for Android markers - - string _label; + public static readonly BindableProperty LabelProperty = BindableProperty.Create("Label", typeof(string), typeof(Pin), default(string)); public string Address { @@ -22,14 +20,8 @@ namespace Xamarin.Forms.Maps public string Label { - get { return _label; } - set - { - if (_label == value) - return; - _label = value; - OnPropertyChanged(); - } + get { return (string)GetValue(LabelProperty); } + set { SetValue(LabelProperty, value); } } public Position Position @@ -44,6 +36,7 @@ namespace Xamarin.Forms.Maps set { SetValue(TypeProperty, value); } } + // introduced to store the unique id for Android markers internal object Id { get; set; } public event EventHandler Clicked; @@ -96,4 +89,4 @@ namespace Xamarin.Forms.Maps return string.Equals(Label, other.Label) && Equals(Position, other.Position) && Type == other.Type && string.Equals(Address, other.Address); } } -}
\ No newline at end of file +} |