Migration Guide

This guide concerns only Android developers using Map custom map markers. This interface underwent refactor to improve internal code quality and performance.

Following is a list of changes

Builder pattern

Classes

  • ScreenObject
  • MapCircle
  • MapMarker
  • MapPolyline
  • MapObject
  • MapSmartLabel
  • ProxyCity
  • ProxyPoi
  • ScreenObject
  • SpeedCamObject
  • UiObject

now conform to a builder pattern and thus are not constructed directly

Example change

// Before:
final MapMarker mapMarker = new MapMarker(new ExtendedPoiDataViewObject(extendedPoiData), bitmapFactory);
// Now:
final MapMarker mapMarker = MapMarker.at(extendedPoiData.getCoordinates())
                .withPayload(extendedPoiData)
                .withIcon(bitmapFactory)
                .build();

MapObject class

MapObject class and all its derivatives now use generics.

Object specific data are available via T getData() method.

Example

MapRoute mapRoute;

// Before:
mapRoute.getRouteInfo()
// Now:
mapRoute.getData.getRouteInfo()