public void AddMarker(GeocachePoco m, bool enableCluster) { double lat; double lon; if (m.ContainsCustomLatLon) { lat = (double)m.CustomLat; lon = (double)m.CustomLon; } else { lat = m.Lat; lon = m.Lon; } if (enableCluster) { Bucket bucket = (from b in Buckets where lat >= (b.Latitude - _latDelta) && lat <= (b.Latitude + _latDelta) && lon >= (b.Longitude - _lonDelta) && lon <= (b.Longitude + _lonDelta) select b).FirstOrDefault(); if (bucket == null) { Buckets.Add(new Bucket(m)); } else { bucket.AddMarker(m); } } else { Buckets.Add(new Bucket(m)); } }
public Bucket(GeocachePoco gc) { Geocache = gc; Count = 1; if (gc.ContainsCustomLatLon) { Latitude = (double)gc.CustomLat; Longitude = (double)gc.CustomLon; } else { Latitude = gc.Lat; Longitude = gc.Lon; } }
public void AddMarker(GeocachePoco m) { Count++; }