I am using Openlayers for a Map application which uses basemaps by ESRI (or ArcGIS). What I am trying to achieve is something like this: http://www.arcgis.com/home/webmap/viewer.html From Basemaps select Terrain with labels.

Here is what I am doing:

arcgis_world_ref_overlay   = new OpenLayers.Layer.ArcGIS93Rest( "World Overlay Reference",
                                    {layers: "1",TRANSPARENT: true},{isBaseLayer: false,opacity: 0.5, displayInLayerSwitcher: false, visibility: false});

arcgis_terrain  = new OpenLayers.Layer.ArcGIS93Rest("World Terrain Base", // name for display in LayerSwitcher
        "http://services.arcgisonline.com/ArcGIS/rest/services/World_Terrain_Base/MapServer/export", // service endpoint
        {layers: "0", format: 'PNG24', sphericalMercator: true});

Attached is the output I am getting: enter image description here

This is the desired output (uses Dojo and cached tiles but same service): enter image description here

What am I doing wrong here?

Any help is greatly appreciated.

Thanks in advance.

1 Answer 1


This is an old question, and the OP might no longer be interested in the Answer, but I have found out the cause of the problem.

ArcGIS Online's reference map (http://services.arcgisonline.com/ArcGIS/rest/services/Reference/World_Reference_Overlay/MapServer/) does not give the same output as a tiled map service, and a Dynamic Mapservice.

When you are using it in ESRI's webviewer, it is called as a Tiled Map service, and we get the expected output. When you are calling it in OpenLayers, or in ArcGIS JSAPI as a dynamic mapservice, the output from the server itself is very different. Hence you see the strange output that the OP has pointed out.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.