如何扩展LatLng

时间:2014-01-07 13:38:02

标签: android latitude-longitude

我写了一个代码来从gpx文件中绘制路径。如果用户转动智能手机,路径将被清除,然后我创建了ArrayList<MyLatLng>,其中每个MyLatLng对象都是:

public class MyLatLng implements Parcelable {

    private double latitude;
    private double longitude;

    public MyLatLng(double lat, double lon) {
        latitude = lat;
        longitude = lon;
    }

    @Override
    public int describeContents() {
        return 0;
    }

    @Override
    public void writeToParcel(Parcel parcel, int arg) {
        parcel.writeDouble(latitude);
        parcel.writeDouble(longitude);
    }

    public static final Parcelable.Creator<MyLatLng> CREATOR = new Creator<MyLatLng>() {
        @Override
        public MyLatLng createFromParcel(Parcel parcel) {
            double latitude = parcel.readDouble();
            double longitude = parcel.readInt();
            return new MyLatLng(latitude, longitude);
        }

        @Override
        public MyLatLng[] newArray(int size) {
            return new MyLatLng[size];
        }
    };

    //Metodi get/set

    public double getLatitude() {
        return latitude;
    }

    public double getLongitude() {
        return longitude;
    }
}

使用onSaveInstanceState我避免取消路径。但是这种方法在我的代码中引入了非优雅,因为每次我需要从LatLng对象创建一个MyLatLng对象。你有什么建议吗?非常感谢:)

0 个答案:

没有答案