- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我遇到了这样的问题:我在我的应用程序中的 Fragment 中使用 GoogleMaps map ,并且在调用 onLocationChanged 方法时它会中断。问题是这一行
mMap.moveCamera(CameraUpdatesFactory.newLatLngZoom(position, 15);
可能是因为它找不到 mMap 或者我不知道。这是代码部分:
public class home extends AppCompatActivity implements OnMapReadyCallback, GoogleApiClient.ConnectionCallbacks, GoogleApiClient.OnConnectionFailedListener, LocationListener{
GoogleMap mMap;
Marker marker;
private void checkAndStartLocationUpdate() {
if (permissionGranted && googleApiClientReady) {
Log.d("MainActivity", "Start updating location");
LocationRequest mLocationRequest = new LocationRequest();
mLocationRequest.setInterval(10000);
mLocationRequest.setFastestInterval(5000);
mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
try {
LocationServices.FusedLocationApi.requestLocationUpdates(mGoogleApiClient, mLocationRequest, this);
lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
mapFragment.getMapAsync(this);
location = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);
} catch (SecurityException e) {
e.printStackTrace();
}
}
}
public void onLocationChanged(Location location) {
Log.d("MainActivity", "Location update received: " + location.toString());
latitude = location.getLatitude();
longitude = location.getLongitude();
Log.d("MainActivity", longitude + " " + latitude);
LatLng position = new LatLng(longitude, latitude);
marker.setPosition(position);
mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(position, 15));
}
最佳答案
你可以做任何一个
@Override
public void onMapReady(GoogleMap googleMap)
{
mMap = googleMap;
// Tika
// Tika
// Tika
}
并改变
mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(position, 15));
至
if(mMap != null)
mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(position, 15));
或者您可以简单地调用
LocationServices.FusedLocationApi.requestLocationUpdates(mGoogleApiClient, mLocationRequest, this);
onMapReady
内部之后mMap = googleMap;
关于java - onLocationChanged() 中的 map.moveCamera,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51539209/
我想在 moveCamera 完成后拍摄快照。 我对 Googlemap 对象同时使用了 onCamerachange() 和 onMapLoaded() 函数, 但是这个回调处理程序的时间不符合我的
我正在实现一个 map ,需要在运行时显示您当前的位置。到目前为止,我没有遇到任何问题,但今天在学习如何设置纬度和经度的教程时,我在为我的项目初始化 map 标记时遇到了麻烦。 addMarker
希望你能帮助我。我当前的应用程序能够获取我当前的位置(通过 GPS)。现在,我将一个标记添加到当前位置,效果非常好,但如果我想将相机移动到该标记,它就不起作用。 moveCamera(position
我遇到了这样的问题:我在我的应用程序中的 Fragment 中使用 GoogleMaps map ,并且在调用 onLocationChanged 方法时它会中断。问题是这一行 mMap.moveCa
我正在尝试像这样控制 Google map 相机 private void setUpMap() { Log.e(LOG_TAG, "in setup method");
我有以下更新 map 的方法: private void setCamera() { if (currentLocation != null) { String
我有一个小问题,当我在手机上运行该应用程序时,我的 moveCamera 设置在我以前的位置(而不是我正在测试它的当前位置),我的 addCircle (设置在我以前的位置周围,而不是我现在的位置)。
我正在使用新的 Android Google Maps API . 我创建了一个包含 MapFragment 的 Activity 。在 Activity onResume 中,我将标记设置到 Goo
我正在使用 Android 版 Google map 。我需要将相机移动到某个位置并同时放大。 我像这样构建我的CameraUpdate: CameraPosition cameraPosit
我在 SupportMapFragment 中有一个 GoogleMap。它在初始显示中工作正常。移动相机,并添加一个圆圈。但是 moveCamera 和 addCircle 在从其子 Activit
我需要移动相机以覆盖其上的所有标记。因此,我构建了 LatLngBounds,然后尝试调用 mMap.moveCamera(CameraUpdateFactory.newLatLngBounds(la
当前的 Android Google Maps API 要求您在访问 GoogleMap 之前使用 OnMapReadyCallback 调用 mapFragment.getMapAsync。我假设一
我正在使用适用于 Android 的 google maps api V2。当我加载 map 时它加载完美但是,当我尝试使用来自 https://developers.google.com/maps/
我对使用 CameraUpdateFactory.newLatLngBounds() 的 moveCamera 和 animateCamera 的准确性有一些疑问。我比较了一个 LatLngBound
我目前正在研究新的 Google Maps Android API v2。 我的 MapActivity 类使用下面的代码与我的三星 galaxy s3 ans s2 一起工作: 但是,有一些特定的设
这些方法有什么区别 public final void moveCamera(CameraUpdate更新)和public final void animateCamera (CameraUpdate
我是一名优秀的程序员,十分优秀!