Here maps has the ability to render map tiles with traffic. They include a freemium tier unlike some of the others.
OpenStreetMap provider uses OpenStreetMapSources which have MaxZoomLevel 18.
When Wraparound of the Map is True and you move (with SetView or ZoomLevel + Center properties) the map to zoomlevel > 18 , no tiles are loaded.
Currently, when you use the BingRestMapProvider and the BingRestSearchLocationRequest the found locations are formatted using the System.Text.Encoding.Default encoding. This way if the found location contains unsupported characters they won't be shown properly. Introduce a property for the BingRestSearchLocationRequest class that allows you to set the Encoding.
RadMap with Wraparound = True. Custom TiledProvider with custom TileSource is used. GetCachedTile is overridden to get the cached tiles in the local file system. When zooming , endless invocation of GetCachedTile method is performed which leads to increasing of CPU usage.
Add a way to control the pan / zoom animation duration. Currently the properties which control these animation durations are private in MultiScaleImage.cs
MiniMapWidth and MiniMapHeight have default values 250 and 200. If you use different values, for example 250 and 250, panning the RadMap can result in jumping the minimap - unexpected zoom in/out. This is easier to observe with MiniMap, outside RadMap. Playing with Width / Height of the MiniMap might workaround the issue.
Expose a property that allows you to get the user state in the SearchLocationError event arguments (BingRestSearchLocationErrorEventArgs). Currently, only the SearchLocationCompleted event args give this information. You can work this around using the following approach: You can create a custom BingRestMapProvider and override its OnSearchRequestCompleted() method. There you can get the UserData from the DownloadStringCompletedEventArgs. Check the attached project.
Currently, you can achieve this by using RotateTransform and clipping the container that holds the RadMap control. For example: <Grid RenderTransformOrigin="0.5,0.5" Width="500" Height="500"> <Grid.RenderTransform> <RotateTransform Angle="45" /> </Grid.RenderTransform> <Grid.Clip> <EllipseGeometry Center="250,250" RadiusX="250" RadiusY="250" /> </Grid.Clip> <telerik:RadMap ZoomLevel="6" Center="37, -120"> <telerik:RadMap.Provider> <telerik:OpenStreetMapProvider /> </telerik:RadMap.Provider> </telerik:RadMap> </Grid>
Width / Height of the MapEllipseView are bound to doubles from ViewModel. Runtime change to 0 does not hide / remove the Ellipse from the Map. This is a bug in the MapShapeBindableWrapper's Geometry update code. The workaround is to use the Visibility of the MapEllipseView in order to hide it. Other workaround could be using FrameworkElements (Ellipse, Polyline, Rectangle) instead of BindableWrappers (MapEllipseView, MapPolylinerView, MapRectangleView).
WMTS is a standard protocol for delivery of tiles map data - see https://en.wikipedia.org/wiki/Web_Map_Tile_Service It should be possible to write code to understand pretty much any service complying with the specification. It would be good if RadMap could be extended to enable it to understand the WMTS specification and allow WMTS data to be used.