Class BingMapsLayer
- java.lang.Object
-
- com.esri.arcgisruntime.layers.Layer
-
- com.esri.arcgisruntime.layers.ImageAdjustmentLayer
-
- com.esri.arcgisruntime.layers.ImageTiledLayer
-
- com.esri.arcgisruntime.layers.ServiceImageTiledLayer
-
- com.esri.arcgisruntime.layers.BingMapsLayer
-
- All Implemented Interfaces:
RemoteResource
,LayerContent
,Loadable
public final class BingMapsLayer extends ServiceImageTiledLayer
Displays Bing maps layers.A Bing maps layer displays map content from a Bing Maps web service, providing access to static map tiles and imagery metadata.
Map style and culture can be customized prior to loading the layer.
Functional characteristics
Bing maps require an API key from Microsoft. There are two ways to set this key:
- By providing an ArcGIS portal configured with a Bing Maps key. For more information, see "How to install a Microsoft Bing Key".
- By providing a Bing Maps key directly for this layer. For more information, see "Getting a Bing Maps Key".
setKey(String)
and callLayer.retryLoadAsync()
.Bing maps layers do not support identify, query, selection, or time.
Use of
BingMapsLayer
in ArcGIS Runtime requires adherence to Microsoft's Mobile Brand Guidelines.Performance characteristics
Bing maps layers perform similarly to other tiled layers. Raster tiles are fetched from Bing's servers on demand.
Example for working with Bing Maps layer
BingMapsLayer bingMapsLayer = new BingMapsLayer(Style.AERIAL, <bing-maps-key>"); bingMapsLayer.addDoneLoadingListener(new Runnable() { public void run() { if (bingMapsLayer.getLoadStatus() == LoadStatus.LOADED) { // work with bingMapsLayer here } } }); map.getOperationalLayers().add(bingMapsLayer);
The layer is loaded when displayed in aMapView
or aSceneView
; if using the layer without aMapView
or aSceneView
, call theLayer.loadAsync()
method. Use the layer done loading event to determine when the layer is ready, and check the load status before using the layer; seeLayer.addDoneLoadingListener(Runnable)
andLayer.getLoadStatus()
.- Since:
- 100.1.0
- See Also:
Layer
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
BingMapsLayer.Style
The list of Bing maps layer styles.-
Nested classes/interfaces inherited from class com.esri.arcgisruntime.layers.ImageTiledLayer
ImageTiledLayer.BufferSize, ImageTiledLayer.NoDataTileBehavior
-
-
Constructor Summary
Constructors Constructor Description BingMapsLayer(BingMapsLayer.Style style, Portal portal)
Creates a new BingMapsLayer from a style and Portal.BingMapsLayer(BingMapsLayer.Style style, java.lang.String key)
Creates a new BingMapsLayer from a style and key.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description BingMapsLayer
copy()
Creates a deep copy of this BingMapsLayer instance.java.lang.String
getCulture()
Gets the culture that was set, or "en-US" if not set or was set to an invalid value.java.lang.String
getKey()
Gets the key that was set.Portal
getPortal()
Gets the Portal the layer will load its Bing Maps API key from.BingMapsLayer.Style
getStyle()
Gets the style used to create this layer.protected java.lang.String
getTileUrl(TileKey tileKey)
ThrowsUnsupportedOperationException
.java.lang.String
getUri()
ThrowsUnsupportedOperationException
.void
setCulture(java.lang.String culture)
Sets the culture.void
setKey(java.lang.String key)
Sets the key.-
Methods inherited from class com.esri.arcgisruntime.layers.ServiceImageTiledLayer
copyTo, getCredential, getRequestConfiguration, getTile, setCredential, setRequestConfiguration
-
Methods inherited from class com.esri.arcgisruntime.layers.ImageTiledLayer
getBufferSize, getNoDataTileBehavior, getTileInfo, setBufferSize, setNoDataTileBehavior
-
Methods inherited from class com.esri.arcgisruntime.layers.ImageAdjustmentLayer
getBrightness, getContrast, getGamma, setBrightness, setContrast, setGamma
-
Methods inherited from class com.esri.arcgisruntime.layers.Layer
addDoneLoadingListener, addLoadStatusChangedListener, addVisibilityChangedListener, cancelLoad, canChangeVisibility, canShowInLegend, fetchLegendInfosAsync, getAttribution, getDescription, getFullExtent, getId, getItem, getLoadError, getLoadStatus, getMaxScale, getMinScale, getName, getOpacity, getSpatialReference, getSubLayerContents, isIdentifyEnabled, isVisible, isVisibleAtScale, loadAsync, removeDoneLoadingListener, removeLoadStatusChangedListener, removeVisibilityChangedListener, retryLoadAsync, setCanShowInLegend, setDescription, setId, setMaxScale, setMinScale, setName, setOpacity, setVisible
-
-
-
-
Constructor Detail
-
BingMapsLayer
public BingMapsLayer(BingMapsLayer.Style style, Portal portal)
Creates a new BingMapsLayer from a style and Portal.- Parameters:
style
- style of the Bing maps layerportal
- portal with the Bing maps key- Throws:
java.lang.IllegalArgumentException
- if style is nulljava.lang.IllegalArgumentException
- if portal is null- Since:
- 100.1.0
-
BingMapsLayer
public BingMapsLayer(BingMapsLayer.Style style, java.lang.String key)
Creates a new BingMapsLayer from a style and key.- Parameters:
style
- style of the Bing maps layerkey
- the Bing maps key- Throws:
java.lang.IllegalArgumentException
- if style is nulljava.lang.IllegalArgumentException
- if key is null or empty- Since:
- 100.1.0
-
-
Method Detail
-
getCulture
public java.lang.String getCulture()
Gets the culture that was set, or "en-US" if not set or was set to an invalid value.- Returns:
- the culture that was set, or "en-US" if not set or was set to an invalid value
- Since:
- 100.1.0
-
setCulture
public void setCulture(java.lang.String culture)
Sets the culture.This determines the language that is used to display text. If the culture is not set or is set to an invalid value, then "en-US" is used.
See Supported Culture Codes for a list of valid culture codes.
This should be called before loading the layer.
- Parameters:
culture
- the culture to set- Throws:
java.lang.IllegalArgumentException
- if culture is null or emptyArcGISRuntimeException
- if set after the layer has loaded- Since:
- 100.1.0
-
getPortal
public Portal getPortal()
Gets the Portal the layer will load its Bing Maps API key from.- Returns:
- the Portal the layer will load its Bing Maps API key from, or null if none
- Since:
- 100.1.0
- See Also:
Portal
-
getStyle
public BingMapsLayer.Style getStyle()
Gets the style used to create this layer.- Returns:
- the style used to created this layer
- Since:
- 100.1.0
-
getKey
public java.lang.String getKey()
Gets the key that was set.- Returns:
- the key that was set
- Since:
- 100.1.0
-
setKey
public void setKey(java.lang.String key)
Sets the key.- Parameters:
key
- the key to set- Throws:
java.lang.IllegalArgumentException
- if key is null or empty- Since:
- 100.1.0
-
getUri
public java.lang.String getUri()
ThrowsUnsupportedOperationException
.- Returns:
- the URI of this RemoteResource
- Throws:
java.lang.UnsupportedOperationException
- always throws this exception- Since:
- 100.1.0
-
getTileUrl
protected java.lang.String getTileUrl(TileKey tileKey)
ThrowsUnsupportedOperationException
.- Specified by:
getTileUrl
in classServiceImageTiledLayer
- Parameters:
tileKey
- tile key for which the url is to be returned- Returns:
- the url to be used to request a tile, can't be null or empty
- Throws:
java.lang.UnsupportedOperationException
- always throws this exception- Since:
- 100.1.0
-
copy
public BingMapsLayer copy()
Creates a deep copy of this BingMapsLayer instance.- Returns:
- a deep copy of this BingMapsLayer instance, which means that copies of all fields of this layer are made including its loading state
- Since:
- 100.1.0
-
-