【问题标题】:how the camera moves whenever the location of Android Google Map changes每当 Android 谷歌地图的位置发生变化时相机如何移动
【发布时间】:2020-02-20 04:51:22
【问题描述】:

我是android和java的初学者。

我正在使用 Android Google Map API。

mGoogleMap.animateCamera(CameraUpdateFactory.newLatLngZoom(currentLatLng, 18), 1000, null);

使用[animateCamera]按下按钮实现将相机移动到当前位置的功能。

我希望相机跟上我的位置。

[Thread] 尝试使用 [sleep] 应用 [animateCamera],但 Google 地图停止。

如何在 Android 中应用它?

【问题讨论】:

  • 你能告诉你代码吗?它可以帮助你把 mGoogleMap.moveCamera 函数放在哪里

标签: java android


【解决方案1】:

在你的谷歌地图上使用 setOnCameraChangeListener:

LatLngBounds.Builder builder = new LatLngBounds.Builder();
builder.include(latlng);

map.setOnCameraChangeListener(new OnCameraChangeListener() {

@Override
public void onCameraChange(CameraPosition arg0) {
    // Move camera
    map.moveCamera(CameraUpdateFactory.newLatLngBounds(builder.build(), 10));
    // Remove listener to prevent position reset on camera move
    map.setOnCameraChangeListener(null);
}

【讨论】:

    【解决方案2】:

    检查此代码首先检查位置权限,然后获取当前位置并在当前位置移动相机

    LocationManager manager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
            if (checkSelfPermission(Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED &&
                    checkSelfPermission(Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
    
                LatLngBounds.Builder builder = new LatLngBounds.Builder();
                Location location = manager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
                LatLng latLngOfMyLocation = new LatLng(location.getLatitude(), location.getLongitude());
                builder.include(latlng);
                map.moveCamera(CameraUpdateFactory.newLatLngBounds(builder.build(), 8));
    
                return;
            }
    

    【讨论】:

      猜你喜欢
      • 2013-06-12
      • 2015-10-11
      • 1970-01-01
      • 1970-01-01
      • 2017-07-19
      • 1970-01-01
      • 2010-11-14
      • 2015-03-23
      • 1970-01-01
      相关资源
      最近更新 更多