/*
* Copyright (c) 2015 Daimler AG / Moovel GmbH
*
* All rights reserved
*/
package com.car2go.maps.baidu.model;
import com.baidu.mapapi.map.Circle;
import com.baidu.mapapi.map.MapStatus;
import com.baidu.mapapi.map.Marker;
import com.baidu.mapapi.map.Polyline;
import com.baidu.mapapi.model.LatLng;
import com.baidu.mapapi.model.LatLngBounds;
import com.car2go.maps.Projection;
import com.car2go.maps.baidu.model.overlay.BaiduCircle;
import com.car2go.maps.baidu.model.overlay.BaiduMarker;
import com.car2go.maps.baidu.model.overlay.BaiduPolygon;
import com.car2go.maps.baidu.model.overlay.BaiduPolyline;
import com.car2go.maps.model.CameraPosition;
import com.car2go.maps.model.VisibleRegion;
import java.util.ArrayList;
import java.util.List;
/**
* Converts Baidu objects to model objects.
*/
public final class BaiduToModelConverter {
private BaiduToModelConverter() {
}
public static CameraPosition convert(MapStatus mapStatus) {
return new CameraPosition(convert(mapStatus.target), mapStatus.zoom);
}
public static com.car2go.maps.model.Marker convert(Marker marker) {
return new BaiduMarker(marker);
}
public static com.car2go.maps.model.Circle convert(Circle circle) {
return new BaiduCircle(circle);
}
public static com.car2go.maps.model.Polyline convert(Polyline polyline) {
return new BaiduPolyline(polyline);
}
public static BaiduPolygon convert(com.baidu.mapapi.map.BaiduMap map, com.baidu.mapapi.map.Polygon polygon) {
return new BaiduPolygon(map, polygon);
}
public static List<com.car2go.maps.model.LatLng> convert(List<LatLng> points) {
List<com.car2go.maps.model.LatLng> converted = new ArrayList<>(points.size());
for (LatLng point : points) {
converted.add(convert(point));
}
return converted;
}
public static com.car2go.maps.model.LatLng convert(LatLng point) {
return new com.car2go.maps.model.LatLng(point.latitude, point.longitude);
}
public static Projection convert(LatLngBounds bound) {
return new BaiduProjection(
new VisibleRegion(
new com.car2go.maps.model.LatLngBounds(
BaiduToModelConverter.convert(bound.southwest),
BaiduToModelConverter.convert(bound.northeast)
)
)
);
}
}