谷歌地图中的缩放动画

3

我正在学习在Android上使用Google Maps API,我刚刚学会了如何做到这一点。

@Override
public void onMapReady(GoogleMap googleMap) {
    mMap = googleMap;

    mMap.setMapType(GoogleMap.MAP_TYPE_TERRAIN);
    // Add a marker in Uman and move the camera
    LatLng uman = new LatLng(48.754683, 30.216339 );
    mMap.addMarker(new MarkerOptions().position(uman).title("Home Town"));
    mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(uman, 10));
}

但是,我希望地图不直接加载到标记中,而是完全缩小后再缩放到标记处播放动画...

真心希望你能理解...


嘿,这个有更新了吗? - kinza
3个回答

7
请使用mMap.animateCamera(...)而不是mMap.moveCamera(..)。
@Override
public void onMapReady(GoogleMap googleMap) {
    mMap = googleMap;

    mMap.setMapType(GoogleMap.MAP_TYPE_TERRAIN);
    // Add a marker in Uman and move the camera
    LatLng uman = new LatLng(48.754683, 30.216339 );
    mMap.addMarker(new MarkerOptions().position(uman).title("Home Town"));
    mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(uman, 10.0F));
}

那不会使缩放动画化。 - Eddie

4

尝试这个...

@Override
public void onMapReady(GoogleMap googleMap) {
    mMap = googleMap;

    mMap.setMapType(GoogleMap.MAP_TYPE_TERRAIN);
    // Add a marker in Uman and move the camera
    LatLng uman = new LatLng(48.754683, 30.216339 );
    mMap.addMarker(new MarkerOptions().position(uman).title("Home Town"));
    mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(uman, 10));
    Handler handler = new Handler();
    handler.postDelayed(new Runnable() {
        public void run() {                       
            mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(uman, 16));
        }
    }, 1000);
}

3

在动画方面,将moveCamera替换为animateCamera。

Java

map.animateCamera(CameraUpdateFactory.newLatLngZoom(latLng, 15));

kotlin:

 val cameraUpdate = CameraUpdateFactory.newLatLngZoom(latLng, 15f)
 map.animateCamera(cameraUpdate)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接