AnsweredAssumed Answered

basemap imagery with street labels

Question asked by ellatrue on Jun 5, 2019
Latest reply on Jun 10, 2019 by NSager-esristaff

So, the default "hybrid" basemap (the one with the "hybrid" well-known ID) only has place labels and no street labels. My clients always want to see street labels, too, but that isn't one of the well-known basemap options.


For this project we were using a custom map box basemap, but they just sent me this screenshot that shows "tears" in the mapbox imagery which look like the city is on fire. So I'm back to trying an Esri version - but I'm struggling to make it work.


NYC on fire (Mapbox)


I found this:


However, when I add it along with the other basemaps to the basemap gallery, the thumbnail aspect ratio doesn't match the others that I am pulling in with "fromId("topo"), etc. It also has this bizarre popup when they click on the map, which I don't want to show up at all.


basemap gallery with rectangular thumbnail next to square thumbnails, and esri basemap popup reading "New York State (New York City2018) imagery taken NaN years NaN months ago, on , NaN, NaN. "


My code:


//this version has the weird thumbnail and popup
var labeledStreetsBasemap = new Basemap({
            portalItem: {
                id: "28f49811a6974659988fd279de5ce39f"
            thumbnailUrl: "/images/imageryhybridthumb.png" //this doesn't seem to do anything

//custom basemap attempt: this doesn't work either (in actual code it's commented out now)
//the basemap appears blank/white - templateUrl problem?
        var labeledStreetsBasemap = new Basemap({
            baseLayers: [
                new WebTileLayer({
                    urlTemplate: "{level}/{col}/{row}.png",
                    subDomains: ['a', 'b', 'c', 'd'],
                    copyright: "Source: Esri, DigitalGlobe, GeoEye, Earthstar Geographics, CNES/Airbus DS, USDA, USGS, AeroGRID, IGN, and the GIS User Community."
            referenceLayers: [
                //hybrid refrence layer:
                new WebTileLayer({
                    urlTemplate: "{level}/{col}/{row}.png",
                    subDomains: ['a', 'b', 'c', 'd']
            title: "Imagery Reference Hybrid",
            thumbnailUrl: "/images/imageryhybridthumb.png"

//... other code

// base map gallery
                var basemapGallery = new BasemapGallery({
                    view: view,
                    container: document.createElement("div"),
                    source: [


How do I get a basemap with street labels?