MapScene Class
Note
Bing Maps SDK for Android and iOS retirement
Bing Maps SDK for Android and iOS is deprecated and will be retired. Free (Basic) account customers can continue to use Bing Maps SDK for Android and iOS until June 30th, 2025. Enterprise account customers can continue to use Bing Maps SDK for Android and iOS until June 30th, 2028. To avoid service disruptions, all implementations using Bing Maps SDK for Android and iOS will need to be updated to use Azure Maps Web SDK by the retirement date that applies to your Bing Maps for Enterprise account type.
Azure Maps is Microsoft's next-generation maps and geospatial services for developers. Azure Maps has many of the same features as Bing Maps for Enterprise, and more. To get started with Azure Maps, create a free Azure subscription and an Azure Maps account. For more information about azure Maps, see Azure Maps Documentation. For migration guidance, see Bing Maps Migration Overview.
MapScene is the parent class of all MapScenes. A MapScene captures developer intent of what to display in the map.
MapScenes can be created via static factory methods on MapScene or descendants can be instantiated directly. To display a MapScene use MapView.beginSetScene
and MapView.setScene
.
Android
public class MapScene
iOS
@interface MSMapScene : NSObject
Static Methods
MapScene contains static methods for creating specific versions of MapScene. Note that under the covers this will instantiate MapScenes with different state depending on the method (e.g., multiple locations vs. a single location).
CreateFromLocation
Creates a map scene that displays a given location. The MapView determines how much around the point to display. For finer grained control of how close to the location to place the camera use ofLocationAndRadius
.
See also: Geopoint
Android
static MapScene createFromLocation(Geopoint location) static MapScene createFromLocation(Geopoint location, @Nullable Double headingInDegrees, @Nullable Double pitchInDegrees)>
iOS
+ (instancetype)sceneWithLocation:(MSGeopoint *)location + (instancetype)sceneWithLocation:(MSGeopoint *)location heading:(CLLocationDirection)heading pitch:(double)pitch
CreateFromLocationAndRadius
Creates a map scene that displays the specified location and an amount of space around it.
See also: Geopoint
Android
static MapScene createFromLocationAndRadius(Geopoint location, double radiusInMeters) static MapScene createFromLocationAndRadius(Geopoint location, double radiusInMeters, @Nullable Double headingInDegrees, @Nullable Double pitchInDegrees)
iOS
+ (instancetype)sceneWithLocation:(MSGeopoint *)location radius:(CLLocationDistance)radius + (instancetype)sceneWithLocation:(MSGeopoint *)location radius:(CLLocationDistance)radius heading:(CLLocationDirection)heading pitch:(double)pitch
CreateFromLocationAndZoomLevel
Creates a map scene that displays the specified location from the given zoom level.
See also: Geopoint
Android
static MapScene createFromLocationAndZoomLevel(Geopoint location, double zoomLevel) static MapScene createFromLocationAndZoomLevel(Geopoint location, double zoomLevel, @Nullable Double headingInDegrees, @Nullable Double pitchInDegrees)
iOS
+ (instancetype)sceneWithLocation:(MSGeopoint *)location zoomLevel:(double)zoomLevel + (instancetype)sceneWithLocation:(MSGeopoint *)location zoomLevel:(double)zoomLevel heading:(CLLocationDirection)heading pitch:(double)pitch
CreateFromLocations
Creates a map scene that displays all of the locations, if possible.
See also: Geopoint
Android
static MapScene createFromLocations(java.lang.Iterable<Geopoint> locations) static MapScene createFromLocations(java.lang.Iterable<Geopoint> locations, @Nullable Double headingInDegrees, @Nullable Double pitchInDegrees)
iOS
+ (instancetype)sceneWithLocations:(NSArray<MSGeopoint *> *)locations + (instancetype)sceneWithLocations:(NSArray<MSGeopoint *> *)locations heading:(CLLocationDirection)heading pitch:(double)pitch
CreateFromLocationsAndMargin
Creates a map scene that displays all of the locations with specified additional margin in density-independent pixels, if possible.
See also: Geopoint
Android
static MapScene createFromLocationsAndMargin(java.lang.Iterable<Geopoint> locations, double marginInDeviceIndependentPixels) static MapScene createFromLocationsAndMargin(java.lang.Iterable<Geopoint> locations, double marginInDeviceIndependentPixels, @Nullable Double headingInDegrees, @Nullable Double pitchInDegrees)
iOS
+ (instancetype)sceneWithLocations:(NSArray<MSGeopoint *> *)locations margin:(double)margin + (instancetype)sceneWithLocations:(NSArray<MSGeopoint *> *)locations margin:(double)margin heading:(CLLocationDirection)heading pitch:(double)pitch
CreateFromLocationsAndMaxZoomLevel
Creates a map scene that displays all of the locations without zooming in further than a desired maximum zoom level, if possible.
See also: Geopoint
Android
static MapScene createFromLocationsAndMargin(java.lang.Iterable<Geopoint> locations, double maxZoomLevel) static MapScene createFromLocationsAndMargin(java.lang.Iterable<Geopoint> locations, double maxZoomLevel, @Nullable Double headingInDegrees, @Nullable Double pitchInDegrees)
iOS
+ (instancetype)sceneWithLocations:(NSArray<MSGeopoint *> *)locations maxZoomLevel:(double)maxZoomLevel + (instancetype)sceneWithLocations:(NSArray<MSGeopoint *> *)locations maxZoomLevel:(double)maxZoomLevel heading:(CLLocationDirection)heading pitch:(double)pitch
CreateFromLocationsAndMinRadius
Creates a map scene that displays all of the locations without zooming in further than a minimum amount of space around the center, if possible.
See also: Geopoint
Android
static MapScene createFromLocationsAndMargin(java.lang.Iterable<Geopoint> locations, double minRadiusInMeters) static MapScene createFromLocationsAndMargin(java.lang.Iterable<Geopoint> locations, double minRadiusInMeters, @Nullable Double headingInDegrees, @Nullable Double pitchInDegrees)
iOS
+ (instancetype)sceneWithLocations:(NSArray<MSGeopoint *> *)locations minRadius:(double)minRadius + (instancetype)sceneWithLocations:(NSArray<MSGeopoint *> *)locations minRadius:(double)minRadius heading:(CLLocationDirection)heading pitch:(double)pitch
CreateFromBoundingBox
Creates a map scene to display a particular bounding box. Equivalent to createFromLocations with each of the corners of the bounding box as points.
See also: GeoboundingBox
Android
static MapScene createFromBoundingBox(GeoboundingBox boundingBox) static MapScene createFromBoundingBox(GeoboundingBox boundingbox, @Nullable Double headingInDegrees, @Nullable Double pitchInDegrees)
iOS
+ (instancetype)sceneWithBoundingBox:(MSGeoboundingBox *)boundingBox + (instancetype)sceneWithBoundingBox:(MSGeoboundingBox *)boundingBox heading:(CLLocationDirection)heading pitch:(double)pitch;
CreateFromBoundingBoxAndMargin
Creates a map scene to display a particular bounding box with specified margin in device-independent pixels from each side.
See also: GeoboundingBox
Android
static MapScene createFromBoundingBoxAndMargin(GeoboundingBox boundingBox, double leftMarginInDeviceIndependentPixels, double topMarginInDeviceIndependentPixels, double rightMarginInDeviceIndependentPixels, double bottomMarginInDeviceIndependentPixels) static MapScene createFromBoundingBoxAndMargin(GeoboundingBox boundingbox, double leftMarginInDeviceIndependentPixels, double topMarginInDeviceIndependentPixels, double rightMarginInDeviceIndependentPixels, double bottomMarginInDeviceIndependentPixels, @Nullable Double headingInDegrees, @Nullable Double pitchInDegrees)
iOS
+ (instancetype)sceneWithBoundingBox:(MSGeoboundingBox *)boundingBox leftMargin:(double)leftMargin topMargin:(double)topMargin rightMargin:(double)rightMargin bottomMargin:(double)bottomMargin + (instancetype)sceneWithBoundingBox:(MSGeoboundingBox *)boundingBox leftMargin:(double)leftMargin topMargin:(double)topMargin rightMargin:(double)rightMargin bottomMargin:(double)bottomMargin heading:(CLLocationDirection)heading pitch:(double)pitch
CreateFromCamera
Creates a MapScene that displays from a specified viewpoint instead of displaying a target.
See also: MapCamera
Android
static MapScene createFromCamera(MapCamera camera)
iOS
+ (instancetype)sceneWithCamera:(MSMapCamera *)camera