Android如何将地图重点放在当前位置或标记位置

时间:2015-12-17 10:26:01

标签: android google-maps google-maps-api-3 geolocation

我正在使用Google地图,为其添加多个标记。

但是当地图加载时,它不会关注地图上的标记。

public class MapActivity extends AppCompatActivity implements OnMapReadyCallback {
....


    private void loadMap(){
        Log.d(TAG, "loadMap");

        //Load MAP
        mapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
        mapFragment.getMapAsync(this);
    }


    <fragment
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/map"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        class="com.google.android.gms.maps.SupportMapFragment" />



    public void onMapReady(GoogleMap map) {
map.addMarker(new MarkerOptions().position(new LatLng(doubleLat, doubleLon)).title(name));
}

2 个答案:

答案 0 :(得分:4)

Camera

上为Marker设置动画
LatLng pos=new LatLng(latitude,longitude); 
mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(pos, 18.0f));

答案 1 :(得分:4)

你必须使用CameraUpdateFactory来实现同样的目标,你可以这样做:

CameraUpdate center=
    CameraUpdateFactory.newLatLng(new LatLng(doubleLat, doubleLon));
CameraUpdate zoom=CameraUpdateFactory.zoomTo(15);

map.moveCamera(center);
map.animateCamera(zoom);

您可以在onMapReady()回调中添加此代码。