/*
* Copyright (c) 2016 Daimler AG / Moovel GmbH
*
* All rights reserved
*/
package com.car2go.maps.google.adapter;
import com.car2go.maps.model.BitmapDescriptor;
import com.car2go.maps.model.LatLng;
import com.car2go.maps.model.Marker;
/**
* Adapts Google Marker to AnyMap Marker
*/
public class MarkerAdapter implements Marker {
private final com.google.android.gms.maps.model.Marker marker;
public MarkerAdapter(com.google.android.gms.maps.model.Marker marker) {
this.marker = marker;
}
@Override
public void setIcon(BitmapDescriptor icon) {
BitmapDescriptorAdapter adapter = (BitmapDescriptorAdapter) icon;
marker.setIcon(adapter.wrappedDescriptor);
}
@Override
public LatLng getPosition() {
return AnyMapAdapter.adapt(marker.getPosition());
}
@Override
public void showInfoWindow() {
marker.showInfoWindow();
}
@Override
public void setRotation(float rotation) {
marker.setRotation(rotation);
}
@Override
public void setVisible(boolean visible) {
marker.setVisible(visible);
}
@Override
public void remove() {
marker.remove();
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof MarkerAdapter)) return false;
MarkerAdapter that = (MarkerAdapter) o;
return marker.equals(that.marker);
}
@Override
public int hashCode() {
return marker.hashCode();
}
@Override
public void setZ(int z) {
marker.setZIndex(z);
}
}