How to show the labels in satellite view in Google Maps

Solution 1:

In your MapOptions object that you use to create the map, use MapTypeId.HYBRID, like this:

var myLatlng = new google.maps.LatLng(-34.397, 150.644);
var myOptions = {
  zoom: 8,
  center: myLatlng,
  mapTypeId: google.maps.MapTypeId.HYBRID
};
var map = new google.maps.Map(document.getElementById("map_canvas"),
    myOptions);

Solution 2:

I don't know about an option to explicitly show the labels in the SATELLITE view. The "styles" property was supposed to do this, but I had no lucky when tried this with the code below:

styles:[
    {
        featureType: "all",
        elementType: "labels",
        stylers: [
            { visibility: "on" }
        ]
    }
]

I ended up using the HYBRID map type, instead of using the SATELLITE one, and hiding the default user interface to turn off the visibility of the change map type menu, and hided the "road" element:

mapOptions: {
    disableDefaultUI: true,
    mapTypeId: 'hybrid',
styles: [
        {
        featureType: "road",
        stylers: [
                 {visibility: "off"}
             ]
        }
    ]