1

マーカーをある位置から別の位置にアニメーション化しようとしています。このために、nutiteq サンプル コードの次のコードを使用しています。

MapPos markerLocation0 = baseProjection.fromWgs84(currentBlueDotPostion);
MapPos markerLocation1 = baseProjection.fromWgs84(toPosition);
Keyframe[] markerLocationKeyframes = new Keyframe[] {
    Keyframe.ofObject(0.0f, markerLocation0),
    Keyframe.ofObject(1.0f, markerLocation1)
};

// Create property values holder for "mapPos" property and set custom evaluator for MapPos type
PropertyValuesHolder markerLocationPVHolder = PropertyValuesHolder.ofKeyframe("mapPos", markerLocationKeyframes);
markerLocationPVHolder.setEvaluator(new TypeEvaluator() {
    public Object evaluate(float fraction, Object startValue, Object endValue) {
        MapPos pos0 = (MapPos) startValue;
        MapPos pos1 = (MapPos) endValue;
        return new MapPos(pos0.getX() + (pos1.getX() - pos0.getX()) * fraction, pos0.getY() + (pos1.getY() - pos0.getY()) * fraction);
    }
});

final ObjectAnimator animator = ObjectAnimator.ofPropertyValuesHolder(userPostionMarker, markerLocationPVHolder);
animator.setDuration(2000); // duration 2000ms
// Make it to bounce
animator.setInterpolator(new AccelerateInterpolator());
animator.start();

https://github.com/nutiteq/hellomap3d/wiki/Animated-marker

上記のコードの問題点を教えてください。

4

1 に答える 1

1

SDK 2.x 向けのスニペットを使用しています。SDK 3.x でも使用できますが、次の行を変更する必要があります。

PropertyValuesHolder markerLocationPVHolder = PropertyValuesHolder.ofKeyframe("mapPos", markerLocationKeyframes);

行に

PropertyValuesHolder markerLocationPVHolder = PropertyValuesHolder.ofKeyframe("pos", markerLocationKeyframes);
于 2015-10-23T08:38:50.450 に答える