My situation :
-
I get BING tiles with MAPPROXY with this url:http://ak.t1.tiles.virtualearth.net/tiles/a%(quadkey)s.png?g=5171&n=z
-
I serve the MAPPROXY tile with Geoserver tilecache to Cesium as a tiled WMS layer
-
I put the WMS layer in Cesium with this code:
baselayer = new Cesium.WebMapServiceImageryProvider({
url: 'http://localhost:8888/geoserver/YE/gwc/service/wms?’,
layers: ‘YE:BING’,
parameters: parameters,
terrainProvider: new Cesium.CesiumTerrainProvider({
url: ‘//assets.agi.com/stk-terrain/world’
}),
enablePickFeatures: true,
tileWidth: 256,
tileHeight: 256,
credit: ‘WMS’
});
break;
}
//define the viewer for Cesium
var viewer = new Cesium.Viewer(‘cesiumContainer’, {
imageryProvider: baselayer,
geocoder: true,
animation: false,
homeButton: false,
infoBox: false,
timeline: false,
fullscreenButton: true,
baseLayerPicker: false,
mapProjection: new Cesium.WebMercatorProjection()
});
I get holes on the poles in Cesium. I did get the boundingbox in Geoserver from the MAPPROXY layer. It’s the 85.xxx / -85.xxx boundingbox.
Q:
How do I get the BING tiles server over the poles?
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 : MyImageryProvider //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!!!