2016-05-28 14 views
2

Ich ändere die Standardbasiskarte in mapbox.streets in meinem Code. Aber es aktualisiert BaseLayerPicker-Widget nicht mehr.Basiskartenselektor funktioniert nicht

   var viewer = new Cesium.Viewer('cesiumContainer',{ 
       animation : false, 
       homeButton : false, 
       baseLayerPicker : true, 
       infoBox : true, 
       sceneModePicker : true, 
       timeline : false, 
       navigationInstructionsInitiallyVisible : false, 
       navigationHelpButton : false, 
       contextOptions: { 
        webgl:{preserveDrawingBuffer:true} 
       }, 
       selectionIndicator : false, 
      }); 
      var layers = viewer.imageryLayers; 
      var baseLayer = layers.get(0); 
      layers.remove(baseLayer); 
      layers.addImageryProvider(new Cesium.MapboxImageryProvider({ 
       url : 'https://api.mapbox.com/v4/', 
       mapId: 'mapbox.streets', 
      })); 

Fehle ich etwas? Jede Hilfe wird sehr geschätzt.

Antwort

2

In dem Code, den Sie gepostet haben, tauschen Sie die Imagery-Ebene aus, nachdem der Viewer (und damit der baseLayerPicker) bereits erstellt wurde. Was Sie tun müssen, ist sicherzustellen, dass der baseLayerPicker mit den korrekten Optionen im Voraus erstellt wird, um Ihre beabsichtigte Basisschicht vorzuwählen. Der Code sieht wie folgt aus:

var imageryProviders = Cesium.createDefaultImageryProviderViewModels(); 
var selectedImageryProviderIndex = 4; // MapBox Street is 5th in the list. 

var viewer = new Cesium.Viewer('cesiumContainer', { 
    imageryProviderViewModels: imageryProviders, 
    selectedImageryProviderViewModel: imageryProviders[selectedImageryProviderIndex] 
}); 

Wenn Sie dies ausführen, werden Sie feststellen, dass die baseLayerPicker mit dem richtigen Punkt beginnt bereits ausgewählt ist, und bietet immer noch Optionen auf andere Basisschichten zu tauschen.

+0

Danke, das hat geholfen. Aber es lädt meine Standard-Kameraansicht beim Laden der Seite jetzt nicht. Dies scheint gebrochen zu sein. :( – meen

+0

sorry. Das war mein Fehler. Ihre Lösung funktioniert. :) – meen

+0

Freut mich zu hören! – emackey