TileMapServiceImageryProvider - Globe Poles with Holes

Hello:

Im using my own TileMapServiceImageryProvider, but the globe has 2 holes in the poles.

Here is my code:

var layers = viewer.imageryLayers;
var tmsLayer = layers
    .addImageryProvider(new Cesium.TileMapServiceImageryProvider(
        {
          url : '//www.localmaps.com/1600Tiles/',
          fileExtension : 'jpg',
          maximumLevel: 7
        }));

I was trying to use northPoleColor property, but it doesnt work:

viewer.scene.globe.northPoleColor = Cesium.Color.WHITE;

Is there anything I can do??

Thank you very much!!!!

Most imagery actually has holes at the poles, but we fill them at the shader level in Cesium to make things look better. Are you sure you are seeing a hole and not the underlying base layer? Is imageryLayers empty when you add your layer?

Hello, and thank you for your answer:

You are right what i see on the North pole is the Base Layer that is actually a BingMapsImageryProvider Imagery Layer.

You said "...we fill them at the shader level.." how do you do that???

Im playing with the property viewer.scene.globe.northPoleColor but nothing change on my globe.

Thank you very much!!!

how to create this shader level on the poles? I’m using also local BING tiles with holes on the poles…

can you explain how to setup shader level on the poles?

Thanks!

Hello:
The way I solve this was using an own base layer, then including the BING layers. That will cover the poles holes with my map tiles:

//Create my own TileMapServiceImageryProvider
var MyImageryProvider = new Cesium.TileMapServiceImageryProvider(
    {
      url : 'your_url_to your_tiles',
      fileExtension : 'jpg'
    });
var viewer = new Cesium.Viewer("map3d", {
  animation : false,
  baseLayerPicker : false,
  fullscreenButton : false,
  homeButton : true,
  infoBox : true,
  sceneModePicker : true,
  selectionIndicator : false,
  timeline : false,
  navigationHelpButton : true,
  scene3DOnly : false,
  targetFrameRate : 24,
  geocoder : true,
  imageryProvider : SLImageryProvider //Here is my TileMapServiceImageryProvider
});

// Load BING Maps (LAYER_BASE - LAYER_ROADS)
var baseLayer = viewer.imageryLayers
    .addImageryProvider(new Cesium.BingMapsImageryProvider(
        {
          url : '//dev.virtualearth.net',
          key : 'AoRYmPYmoZ9otffHMXaCrL6ms5QXpCsZ4oY2zrMXKs6Bjip_NnGpYUTSLeRGD9QE',
          mapStyle : Cesium.BingMapsStyle.AERIAL
        }));
baseLayer.name = "LAYER_BASE";
baseLayer.type = "BING-BASE";
baseLayer.show = true;

var roadLayer = viewer.imageryLayers
    .addImageryProvider(new Cesium.BingMapsImageryProvider(
        {
          url : '//dev.virtualearth.net',
          key : 'AoRYmPYmoZ9otffHMXaCrL6ms5QXpCsZ4oY2zrMXKs6Bjip_NnGpYUTSLeRGD9QE',
          mapStyle : Cesium.BingMapsStyle.AERIAL_WITH_LABELS
        }));
roadLayer.name = "LAYER_ROADS";
roadLayer.type = "BING-ROAD";
roadLayer.show = true;

Hope this helps.

Regards!!!

Thanks! I Will try to add a pregenerate tile from my local tilecache to use as a baselayer on the poles.

Here on earth we Have two poles so Have to find Out how to add a white and dark Blue pole on South and north pole...

But thanks for the idea!

Thanks! I Will try to add a pregenerate tile from my local tilecache to use as a baselayer on the poles.

Here on earth we Have two poles so Have to find Out how to add a white and dark Blue pole on South and north pole...

But thanks for the idea!