public MapMarker ReplaceMarker(MapMarker oldMarker, UserControl newMarker, double lat, double lng)
        {
            MapMarker m = new MapMarker(new Point(lat, lng), newMarker);
            m.SetVisualLocation(zoomLevel);
            int i = 0;
            for (; i<Markers.Count; i++)
            {
                if (Markers[i] == oldMarker)
                {
                    Markers[i]=m;
                    break;
                }
            }
            if (i==Markers.Count) return null;

            for (i = 0; i < MarkerLayer.Children.Count; i++)
            {
                if (MarkerLayer.Children[i] == oldMarker.MarkerControl)
                {
                    MarkerLayer.Children.RemoveAt(i);
                    MarkerLayer.Children.Insert(i, newMarker);
                    break;
                }
            }
            return m;
        }
 public MapMarker AddMarker(UserControl marker, double lat, double lng)
 {
     if (!MapLayer.Children.Contains(marker))
     {
         MapMarker m = new MapMarker(new Point(lat, lng), marker);
         m.SetVisualLocation(zoomLevel);
         Markers.Add(m);
         MarkerLayer.Children.Add(marker);
         return m;
     }
     return null;
 }