Как переместить маркер как автомобиль идет по дороге в android карте
Это мой код. как изменить и модифицировать, а затем получить решение.
частная статические заключительные LocationRequest запрос = LocationRequest.создать()
. setInterval (5000) / / 5 секунд
. setFastestInterval(16) / / 16ms = 60fps
. setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
@Ручная коррекция
protected void onCreate(Bundle savedInstanceState) {
super. onCreate(savedInstanceState);
setContentView(R. layout.my_location_demo);
ИД = так().getExtras().и getString("идентификатор");
mMessageView = (виджет TextView) findViewById, чтобы найти(Р. ИД.текст_сообщения);
}
@Ручная коррекция
охраняемых недействительными onResume() {
супер.onResume();
setUpMapIfNeeded();
setUpLocationClientIfNeeded();
mLocationClient.подключить();
}
@Ручная коррекция
общественного недействительными метод onPause() {
супер.методов onPause();
if (mLocationClient != null) {
mLocationClient.отсоединить();
}
}
частная пустота setUpMapIfNeeded() {
// Выполните нулевую проверку, чтобы подтвердить, что мы еще не создали экземпляр карты.
if (mMap = = null) {
// Попробуйте получить карту из SupportMapFragment.
mMap = ((SupportMapFragment) getSupportFragmentManager (). findFragmentById(R. id. map))
.запросах getmap();
// Проверьте, удалось ли нам получить карту.
if (mMap != null) {
// вызов mmap.setMyLocationEnabled(правда);
// вызов mmap.
}
}
}
частный недействительными setUpLocationClientIfNeeded() {
if (mLocationClient = = null) {
mLocationClient = новый LocationClient(
getApplicationContext(),
это, / / ConnectionCallbacks
это); / / OnConnectionFailedListener
}
}
/**
* Кнопка для получения текущего местоположения. Это демонстрирует, как получить текущее местоположение по мере необходимости,
* без необходимости регистрировать LocationListener.
*/
public void showMyLocation(View view) {
if (mLocationClient != null & & amp; mLocationClient. isConnected()) {
Строка msg = "Location =" + mLocationClient.getLastLocation();
Toast. makeText(getApplicationContext (), msg, Toast.LENGTH_SHORT).показать();
}
}
/**
* Реализация {@link LocationListener}.
*/
@Ручная коррекция
public void onLocationChanged(Location location) {
mMessageView.помощью setText("расположение =" + расположение);
если(расположение.getAccuracy() &ЛТ; 100.0 &амп;&амп; локации.getSpeed() &ЛТ; 6.95)
{
вызов mmap.понятно();
новый фон().выполнить(расположение.getLatitude()+"",расположенный по адресу.getLongitude()+"");
м = вызов mmap.addMarker(новый MarkerOptions().установки(новый latlng с(местоположение.getLatitude(),расположение.getLongitude()))
. название ("водитель")
.значок(BitmapDescriptorFactory.fromResource(Р. холст.такси)));
вызов mmap.animateCamera(CameraUpdateFactory.newLatLng(новый latlng с(местоположение.getLatitude(), расположение.getLongitude())));
// animateMarker(м, новый latlng с(местоположение.getLatitude(), расположение.getLongitude()), ложные);
}
}
/**
* Обратный вызов вызывается при подключении к GCore. Реализация {@link ConnectionCallbacks}.
*/
@Ручная коррекция
public void onConnected(Bundle connectionHint) {
mLocationClient.requestLocationUpdates(
ЗАПРОС,
this); / / LocationListener
}
/**
* Обратный вызов вызывается при отключении от GCore. Реализация {@link ConnectionCallbacks}.
*/
@Ручная коррекция
public void onDisconnected() {
// Ничего не делать
}
/**
* Реализация {@link OnConnectionFailedListener}.
*/
@Ручная коррекция
public void onConnectionFailed(результат ConnectionResult) {
// Ничего не делать
}
}