Skip to content
This repository has been archived by the owner on May 1, 2024. It is now read-only.

Commit

Permalink
[Android Maps] Make markers available to subclasses (#3751)
Browse files Browse the repository at this point in the history
* Make markers available to subclasses

* Fix build

* Use Find instead of FirstOrDefault
  • Loading branch information
LRP-sgravel authored and Jason Smith committed Sep 17, 2018
1 parent 6aa844b commit bd31e1e
Showing 1 changed file with 7 additions and 2 deletions.
9 changes: 7 additions & 2 deletions Xamarin.Forms.Maps.Android/MapRenderer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -250,7 +250,7 @@ void AddPins(IList pins)
void PinOnPropertyChanged(object sender, PropertyChangedEventArgs e)
{
Pin pin = (Pin)sender;
Marker marker = _markers.FirstOrDefault(m => m.Id == (string)pin.Id);
Marker marker = GetMarkerForPin(pin);

if (marker == null)
{
Expand All @@ -271,6 +271,11 @@ void PinOnPropertyChanged(object sender, PropertyChangedEventArgs e)
}
}

protected Marker GetMarkerForPin(Pin pin)
{
return _markers?.Find(m => m.Id == (string)pin.Id);
}

void MapOnMarkerClick(object sender, GoogleMap.InfoWindowClickEventArgs eventArgs)
{
// clicked marker
Expand Down Expand Up @@ -373,7 +378,7 @@ void RemovePins(IList pins)
foreach (Pin p in pins)
{
p.PropertyChanged -= PinOnPropertyChanged;
var marker = _markers.FirstOrDefault(m => m.Id == (string)p.Id);
var marker = GetMarkerForPin(p);

if (marker == null)
{
Expand Down

0 comments on commit bd31e1e

Please sign in to comment.