The problems boil down to NOT having the div visible that the map will display into when google maps is initialized.
- Off-left technique
- Resize the map when idle
- The below can also be combined with a setTimeout, which I had to use to get it to work when deployed to a phone browser. HACK I know
- Asynchronously Loading the API