For a project at my university I have to collect information about Google Indoor Maps. I spent several hours searching information about how Google Indoor Navigation really work
Since this post is a little old I thought I would still add my thoughts. First of all you can make edits for your own custom maps using MyMaps. As the previous answers stated Google Maps uses cell data, wifi data, gps, etc for tracking. It can also use phone sensor data such as your accellerometer. With the current level of wifi infrastructure it can actually be quite accurate using a method of wifi fingerprinting (The more access points the more accurate it will be given they are effectively positioned). There are several scholarly articles demonstrating its viability down to a couple meters of accuracy. I would suggest reading an article on RSSI fingerprinting. Also check the google maps developer documentation for more detail on editing map information.
Also I was reading that they will be using light detection for additional indoor accuracy (not sure if implemented yet).