android - 将 Google map 缩放到当前位置

标签 android location maps

当我想缩放到当前位置时遇到问题。 我有一个可以放大我的 gps 按钮,效果很好: 但实际上我无法找到加载 map 时如何自动缩放。 这是我的 MainActivity 代码:

public class MainActivity extends Activity {

// Constant for defining latitude and longitude
//static final LatLng DerekPos = new LatLng(40 , -79);

// GoogleMap class
private GoogleMap googleMap;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);


// verify we can interact with the Google Map
try {
    if (googleMap == null) {
        googleMap = ((MapFragment) getFragmentManager().
                findFragmentById(R.id.map)).getMap();
    }
    // Show a satellite map with roads
    /* MAP_TYPE_NORMAL: Basic map with roads.
    MAP_TYPE_SATELLITE: Satellite view with roads.
    MAP_TYPE_TERRAIN: Terrain view without roads.
    */
    googleMap.setMapType(GoogleMap.MAP_TYPE_NORMAL);

    // Place dot on current location
    googleMap.setMyLocationEnabled(true);

    // Turns traffic layer on
    googleMap.setTrafficEnabled(true);

    // Enables indoor maps
    googleMap.setIndoorEnabled(true);

    // Turns on 3D buildings
    googleMap.setBuildingsEnabled(true);

    // Show Zoom buttons
    googleMap.getUiSettings().setZoomControlsEnabled(true);

    // Create a marker in the map at a given position with a title
    //Marker marker = googleMap.addMarker(new MarkerOptions().
      //      position(DerekPos).title("Sie sind hier!"));

    //googleMap.animateCamera(CameraUpdateFactory.newLatLngZoom(DerekPos,16));


} catch (Exception e) {
    e.printStackTrace();
}
}

我得到一个按钮:

googleMap.setMyLocationEnabled(true);

当我按下这个按钮时,它会将我移动到我当前的位置。 有人可以向我解释这是怎么发生的吗? 我想做的是在获取位置时放大,而不是按此按钮。

最佳答案

我用那个方法来做到这一点:

public static void ZoomLocMap(GoogleMap googleMap, SupportMapFragment map, double latitude, double Longitude, int nivelZoom) {

        try
        {
            googleMap = map.getMap();

            // Enabling MyLocation Layer of Google Map
            googleMap.setMyLocationEnabled(true);

            //acercar a localizacion animada
            LatLng latLng = new LatLng(latitude, Longitude);

            CameraUpdate cameraUpdate = CameraUpdateFactory.newLatLngZoom(latLng, nivelZoom);
            googleMap.animateCamera(cameraUpdate);

        }catch (NullPointerException e)
        {
            Log.i("LogsAndroid", "NullPointerException");
        }
    }

关于android - 将 Google map 缩放到当前位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33020659/

相关文章:

firebase - Firestore查询不会因Geo flutter 火而返回附近的位置

javascript - Leaflet::如何检查点位于多边形或矩形的内部/外部

css - javascript 谷歌地图缩放到零时为空灰色背景

android - geo :latitude, longitude?z=zoom in android 带我到我当前的位置

android - 前置摄像头在小 View 中的侧面打开 - Android

javascript - Java中的AES加密无法在Javascript中解密

c# - Parcelable List<string>, List<int>

java - 了解手机何时在 Android 设备上进入建筑物

android - flutter 问题 : overflowed by 61 pixels on the right?

iphone - 应用程序在后台或暂停时的位置更新