This article demonstrates the use of GoogleTiles with C1Maps.

Google map uses pre-rendered tiles that can be obtained with a simple URL. Each tile is basically a 256x256 PNG picture.
We can use that URL in creating our custom map source. That would be a class inherited from C1MultiScaleTileSource.

General format of the GoogleTiles URl is :-http://mt{0}.google.com/vt/lyrs={1}&z={2}&x={3}&y={4}

There are various parameters which need to be passed, including mapmode, tilelevel, serverkey etc.

MapMode basically decides the map type from among the 5 various types of modes offered by Google.
1)Hybrid("y") 2)Satellite("s") 3) Physical("t") 4)Street("m") 5)WaterOverlay("r")

The custom source should be identical to this:
  public class GoogleTilesSource : C1MultiScaleTileSource
    {

        const string uriFormat = @"http://mt{0}.google.com/vt/lyrs={1}&z={2}&x={3}&y={4}";

        string _serverKey="1";   //google stores same tiles on 4 sources so as to load the balance. We have used server key as 1 here..

        //5 map modes for different map types 1)Hybrid("y") 2)Satellite("s") 3) Physical("t") 4)Street("m") 5)WaterOverlay("r")

        public string _mapMode = "y";      //set as default mode

        public GoogleTilesSource(string mapMode)
            : base(0x8000000, 0x8000000, 256, 256, 0)
        {
            _mapMode = mapMode;
        }

        protected override void GetTileLayers(int tileLevel, int tilePositionX, int tilePositionY, IList sources)
        {
            if (tileLevel > 8)
            {
                sources.Add(new Uri(string.Format(uriFormat, _serverKey, _mapMode, tileLevel - 8, tilePositionX, tilePositionY)));
            }
        }
    }

We can now simpley set the custom source to C1Map source:-



  c1Maps.Source = new GoogleTilesSource("y");





P.S.  YOU NEED TO HAVE A VALID LICENSE FROM GOOGLE TO USE ITS TILES IN YOUR BUSINESS APPLICATIONS.

Download Sample