android-通过拖动在相机中移动时,它始终每秒移动到当前位置

android-通过拖动在相机中移动时,它始终每秒移动到当前位置,第1张

概述在通过拖动始终移动到地图中时,它总是每秒移回当前位置,但是我无法在地图上看到我所在位置附近的视图,如何阻止它每秒移动到当前位置?我只想单击我的位置按钮才能移到我的位置.那么有人可以帮助我吗?提前致谢.我的代码是@OverridepublicvoidonLocationChanged(Locationlocation

在通过拖动始终移动到地图中时,它总是每秒移回当前位置,但是我无法在地图上看到我所在位置附近的视图,如何阻止它每秒移动到当前位置?我只想单击我的位置按钮才能移到我的位置.那么有人可以帮助我吗?提前致谢.我的代码是

@OverrIDepublic voID onLocationChanged(Location location){mLastLocation = location;if (mCurrLocationMarker != null) {mCurrLocationMarker.remove();}//Place current location markerLatLng latLng = new LatLng(location.getLatitude(), location.getLongitude());/*MarkerOptions markerOptions = new MarkerOptions();markerOptions.position(latLng);markerOptions.Title("Current position");markerOptions.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_magenta));mCurrLocationMarker = mGoogleMap.addMarker(markerOptions);*/CameraUpdate center=CameraUpdateFactory.newLatLng(latLng);CameraUpdate zoom=CameraUpdateFactory.zoomTo(15.0f);mGoogleMap.moveCamera(center);mGoogleMap.animateCamera(zoom);//move map camera// mGoogleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(latLng,15.0f));}

解决方法:

我已经实现了达到您目标的条件.首次调用onLocationChanged()时,它将把摄像机移动到当前位置.之后,它将每秒捕获一次当前位置,并将其存储到mLastLocation = location;但不会移动相机.当用户按下按钮时,它将从mLastLocation获取LatLong,然后根据需要将相机移动到当前位置.

boolean isFirstTime = true;       @OverrIDepublic voID onLocationChanged(Location location){   mLastLocation = location;   if (mCurrLocationMarker != null) {     mCurrLocationMarker.remove();   }  if(isFirstTime){    //Place current location marker    LatLng latLng = new LatLng(location.getLatitude(), location.getLongitude());    /*MarkerOptions markerOptions = new MarkerOptions();    markerOptions.position(latLng);    markerOptions.Title("Current position");    markerOptions.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_magenta));    mCurrLocationMarker = mGoogleMap.addMarker(markerOptions);    */    CameraUpdate center=    CameraUpdateFactory.newLatLng(latLng);    CameraUpdate zoom=CameraUpdateFactory.zoomTo(15.0f);    mGoogleMap.moveCamera(center);    mGoogleMap.animateCamera(zoom);    //move map camera   // mGoogleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(latLng,15.0f));   isFirstTime = false;  }}

在按钮上单击:

btn.setonClickListener(new VIEw.OnClickListener() {            @OverrIDe            public voID onClick(VIEw vIEw) {                 LatLng latLng = new LatLng(mLastLocation.getLatitude(), mLastLocation.getLongitude());                 CameraUpdate center=                 CameraUpdateFactory.newLatLng(latLng);                 CameraUpdate zoom=CameraUpdateFactory.zoomTo(15.0f);                     mGoogleMap.moveCamera(center);                 mGoogleMap.animateCamera(zoom);            }        });
总结

以上是内存溢出为你收集整理的android-通过拖动在相机中移动时,它始终每秒移动到当前位置全部内容,希望文章能够帮你解决android-通过拖动在相机中移动时,它始终每秒移动到当前位置所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1121019.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存