The problem was the minimum resolution for the BING map was much lower than the ESRI. Everything else lined up fine.
Now my question is, is it possible to have both BING and ESRI basemaps on the same application and be able to switch between them?
I have two esri:Map nodes, one for BING and one for ESRI. It seems that whichever is placed before the other is the one that will be loaded. I have a toolbar which can be used to switch between the two, but it doesn't seem to be working. Here is the code:
private void RadioButton_Click(object sender, RoutedEventArgs e)
{
RadioButton layerObject = sender as RadioButton;
if (layerObject.GroupName == "ESRI")
{
//_candidateGraphicsLayer1 = null;
//_candidateGraphicsLayer = MyMap.Layers["CandidateGraphicsLayer"] as GraphicsLayer;
//_candidateGraphicsLayer.RendererTakesPrecedence.Equals(false);
ArcGISTiledMapServiceLayer arcgisLayer = MyMap.Layers["StreetMapLayer"] as ArcGISTiledMapServiceLayer;
arcgisLayer.Url = layerObject.Tag.ToString();
}
else if (layerObject.GroupName == "BING")
{
//_candidateGraphicsLayer = null;
//_candidateGraphicsLayer1 = MyMap1.Layers["CandidateGraphicsLayer1"] as GraphicsLayer;
//_candidateGraphicsLayer1.RendererTakesPrecedence.Equals(false);
ESRI.ArcGIS.Client.Bing.TileLayer tileLayer = MyMap1.Layers["BingLayer"] as TileLayer;
string layerTypeTag = (string)((RadioButton)sender).Tag;
TileLayer.LayerType newLayerType = (TileLayer.LayerType)System.Enum.Parse(typeof(TileLayer.LayerType), layerTypeTag, true);
tileLayer.LayerStyle = newLayerType;
}
}