The way Google does it
The way Google Maps does it, is indeed by having multiple levels of detail. Moving through these levels, tiles will get smaller and smaller. Fitting a 2k texture on a tile that contains a full continent, will give you less detail than fitting a 2k texture on a tile that contains a small neighbourhood with only a few roads.
It is important to note than tiles get loaded, depending on what area you are looking at (your region of interest). You can't simply switch from a 2k texture to a 4k texture as the player zooms in on the planet, as you will run into memory problems very soon, due to the exponential increase in image data. Instead, you will want to draw only the segment of the sphere the player is looking at, and only load the associated textures. What is off camera should not be rendered, nor should the textures be loaded.
The problem with this approach is, that you will need an extreme amount of textures to get the fidelity Google Maps will offer you. If you want to be able to zoom in, all the way to street level, you need textures at that level (and all levels before), for all tiles across the entire planet. Google has this data via years of gathering satellite images, but it's infeasable to have this data available in a game.
A feasible way you could do it
For that reason, I think only a procedural approach is viable in this case. A procedural approach means that the planet's geometry and textures get generated on-the-fly, via some mathematical formula. Techniques for this are readily available if you do a search on "terrain generation" or "procedural planet generation". This approach let's games like Spore and Destiny generate planets with detail up to surface level.
A downside is that you have less control over what your planet will exactly look like. For example, if you want a planet that looks exactly like earth (with bodies of water, mountians, roads, etc in the same position, you will not be able to do this in a procedural way). It is however the only feasible way to "store" an entire planet in great detail. (The key is that, rather than "storing it", you are encoding it as a set of parameters, generating actual geometry and textures on-the-fly).
Something to be aware of (as Rioki pointed out), is that textures slapped onto a sphere will not cut is. At higher levels of detail, you will need to deform the geometry (for example around mountains). Techniques such as displacement mapping or tessellation will help here. Procedural methods will give you this data for free however.
In short, your question is a problem of scale. A procedural approach is a very feasible approach for planet rendering in general, but I'm not sure if it fits your use case. If your use case is to render planet earth specifically, at a level of detail Google Maps offers, I'd say that's impossible as you cannot store the amount of satellite imagery that would be needed for the textures.