2013-10-30 4 views
5

は以前、私はAndroidのマップAPI v1のでGeoPointを拡張するクラスを作成しました:AndroidのGoogle Map API V2でジオポイントに対応するものは何ですか?

class CyclePoint extends GeoPoint { 
    public float accuracy; 
    public double altitude; 
    public float speed; 
    public double time; 

    public CyclePoint(int lat, int lgt, double currentTime) { 
     super(lat, lgt); 
     this.time = currentTime; 
    } 

    public CyclePoint(int lat, int lgt, double currentTime, float accuracy) { 
     super(lat, lgt); 
     this.time = currentTime; 
     this.accuracy = accuracy; 
    } 

    public CyclePoint(int lat, int lgt, double currentTime, float accuracy, double altitude, float speed) { 
    super(lat, lgt); 
    this.time = currentTime; 
    this.accuracy = accuracy; 
    this.altitude = altitude; 
    this.speed = speed; 
    } 
} 

は今、私は何を拡張する必要があり、V2に切り替えたのですか? LatLngにする必要がありますか?しかし、私がLatLngに切り替えると、次のように表示されます。CyclePointタイプは、最終クラスLatLngをサブクラス化できません。誰もこれで私を助けることができますか?本当にありがとう!

答えて

3

継承の代わりにコンポジションを使用します。つまり、LatLngをCyclePointのフィールドにします。

+0

ありがとう、私は単純にint緯度と経度を使用し、それは働いた。 GeoPointはこれには役に立ちません。 – Anhong

10

LatLngオブジェクト! http://developer.android.com/reference/com/google/android/gms/maps/model/LatLng.html

このオブジェクトは非常に便利です!緯度と経度はdouble型でなければならない: uはちょうど

ex: 
    LatLng home = new LatLng(-34.3232,-8.31331); // instanciate a new Latlng 
    home.getLatitude(); // get latitude 
    home.getLongitude(); // get longitude 

psのインスタンスを作成する必要があります。