The map control does not support the border. It inherits the BorderBrush and BorderThickness properties from ItemsControl, but currently they can't be used for the design of the control.
The KmlReader should support <LabelStyle> KML tag.
Currently context menu can't be used on the map shape objects directly. We should change implementation of the map shape objects to allow using of the RadContextMenu. DECLINED: XAML team reviewed this request and decided not to address it in the future. The VisualizationLayer allows using context menu on the map shape visualization.
The BingSearchProvider should be able to use StructuredSearchQuery in the SearchRequest. The BingSearchProvider should be able to use UserLocation in the UserProfile.
Currently, the shape file reader can read the files only once when the ReadAsync() method is called. When new files are added in the SourceCollection and the method is called again, the reader doesn't read properly. Implement a mechanism that allows the new files to be read. At this moment, to read additional files you can create a new reader and add the files in it. Then reset the Reader property of the layer. var reader = new AsyncShapeFileReader(); reader.SourceCollection.Add(new AsyncReaderSource() { Source = new Uri("/WpfApplication16;component/DataSources/Alabama.shp", UriKind.RelativeOrAbsolute), DataSource = new Uri("/WpfApplication16;component/DataSources/Alabama.dbf", UriKind.RelativeOrAbsolute) }); this.layer.Reader = reader; reader.ReadAsync();
Add the CanvasDark, CanvasLight, CanvasGray, RoadOnDemand and AerialOnDemand modes in the BingRestMapProvider. Currently it supports only Aerial, Road and BirdsEye and their variants with labels. Check the imagerySet parameter here: https://msdn.microsoft.com/en-us/library/ff701724.aspx Ordnance Survey will not be added among with these modes.
When the selection is started on map control then it can be cancelled using the Escape key.
Currently shape readers (KML, ESRI shape, SQL Geospatial) don't provide information about unsupported elements in sequence. They should either return list of the detected unsupported elements or throw €œUnsupported€ exception.
Add an API to load Dark tiles in the provider.
This mode can be achieved by showing tiles from the Carto Dark tile server.
Here maps has the ability to render map tiles with traffic. They include a freemium tier unlike some of the others.
https://developer.here.com/documentation/map-tile/topics/quick-start-map-tile.html
https://developer.here.com/documentation/map-tile/topics/resource-base-tile-intro.html
Add feature for ECW files to be loaded as a map source.
Implement OpenStreetMap search provider. Similar to BingSearchProvider (http://docs.telerik.com/devtools/wpf/controls/radmap/features/search). Currently , to implement location search with OpenStreetMap provider, you can use the Nominatim API: https://wiki.openstreetmap.org/wiki/Nominatim
There is a change in the Open Street Map Cycle and CylcleTransport services and they require an API key. Without it the service will returned tiles with a watermark saying "API KEY REQUIRED". Currently, the OpenStreetProvider doesn't expose a mechanism for providing a key. At this point you can provide a key by creating a custom map provider deriving from OpenStreeMapProvider and also a custom OsmTileMapSource. And override the original URL to use also an API Key. public class CustomOpenStreetMapProvider : OpenStreetMapProvider { public CustomOpenStreetMapProvider() { string sourceKey = (typeof(OpenStreetCycleTransportSource)).FullName; this.MapSources[sourceKey] = new CustomOpenStreetCycleTransportSource("your api key here"); } } public class CustomOpenStreetCycleTransportSource : OsmTileMapSource { private static string UrlFormat = @"http://{prefix}.tile.thunderforest.com/transport/{zoom}/{x}/{y}.png?apikey={apikey}"; private string apiKey; public CustomOpenStreetCycleTransportSource(string apiKey) : base(UrlFormat) { this.apiKey = apiKey; } protected override Uri GetTile(int tileLevel, int tilePositionX, int tilePositionY) { Uri originalUri = base.GetTile(tileLevel, tilePositionX, tilePositionY); string newUri = originalUri.OriginalString.Replace("{apikey}", this.apiKey); return new Uri(newUri); } } <telerik:RadMap> <telerik:RadMap.Provider> <local:CustomOpenStreetMapProvider/> </telerik:RadMap.Provider> </telerik:RadMap>
The method UpdateShapeData of MapShapebindableWrapper should be protected or at least protected internal so that it would be possible to inherit from that class.
Currently the SQL GeospatialDataReaders do not support binding to source - collection of DataRows. You store the data in the datarows for example like si row["Geometry"] ="PolyGone((Point 1, ....))" but there is no property you can set for GeospatialPropertyName in order to retrive this Geometry data.