我如何才能将标记当前位置动画标记当前位置上的位置改变
我已经有两个固定的地缘位置
这里经历是我用什么:
private void autoAnimateMarker() {
mMap.setMapType(GoogleMap.MAP_TYPE_HYBRID);
mMap.getUiSettings().setZoomControlsEnabled(true);
if (ActivityCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
return;
}
mMap.setMyLocationEnabled(true);
LatLng fromLocation = new LatLng(-33.904438, 151.249852);
LatLng toLocation = new LatLng(-33.905823, 151.252422);
Marker marker = mMap.addMarker(new MarkerOptions().position(fromLocation));
MarkerAnimation.animateMarkerToICS(marker, toLocation, new LatLngInterpolator.Spherical());
mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(fromLocation, 17F));
}
然后称之为onMapReady(...)
@Override
public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;
autoAnimateMarker();
}
,以显示当前位置
我已经走过了 - https://stackoverflow.com/a/34582595/3585072
目前onLocationChanged(位置定位)方法是这样的,我需要的基于位置的变化放到这里,动态地移动我的标记:
@Override
public void onLocationChanged(Location location)
{
Toast.makeText(this, "Location Changed " + location.getLatitude()
+ location.getLongitude(), Toast.LENGTH_LONG).show();
mLastLocation = location;
if (mCurrLocationMarker != null) {
mCurrLocationMarker.remove();
}
//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);
//move map camera
mGoogleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(latLng,11));
}
什么你的意思是“只有当我动”你的意思是当光标移动,还是点击其他地理位置? –
@KingReload“只有当我移动时”意味着根据我现在的位置它应该移动,就像我驾驶一辆汽车并从位置A开始并且目标是到达位置B ...所以我希望这个飞机标记应该随着移动我...现在清楚了吗? – Sophie
定期收听您的当前位置,并在您的位置发生变化时移动标记。我无法理解你到底想做什么。 –