Хотите создать навигацию по картам Google в своем приложении - собственный способ

Я создал приложение, в котором я пытаюсь показать движение пользователя, анимируя положение маркера.

  1. Использование карты Google V2.
  2. Обновление местоположения с помощью клиента определения местоположения.
  3. Анимация маркера с использованием нового местоположения.

Но по сравнению с навигацией по картам Google, в отображении навигации нет непрерывности.

Может ли кто-нибудь предложить лучший подход? Спасибо!


person deniz    schedule 10.09.2014    source источник
comment
Вы хотите постоянно движущийся маркер (позиция)?   -  person Steve Benett    schedule 10.09.2014
comment
Да. Просто как навигация по карте Google по умолчанию   -  person deniz    schedule 10.09.2014
comment
Возможно, это то, что вы ищете.   -  person Steve Benett    schedule 10.09.2014
comment
да. Это помогло. Но в настоящее время, когда мы сравниваем его с картой Google (после насмешки над путем). В моем приложении маркер не движется по точному пути, есть небольшой сдвиг.   -  person deniz    schedule 11.09.2014


Ответы (1)


Для непрерывности, я думаю, вам нужно получать регулярные обновления местоположения от клиента местоположения, отправляя запрос местоположения, подобный этому.

LocationRequest request = LocationRequest.create()
                .setInterval(0).setFastestInterval(0)
                .setSmallestDisplacement(0)
                .setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);

Затем для плавной анимации вы можете следовать подходу, упомянутому Стивом Бенеттом. здесь

Последний случай, который вы упомянули в комментарии о пути. У меня также была такая же проблема в одном из моих приложений. Я попытался с помощью приложения-симулятора маршрута GPS издеваться над маршрутом. затем, сравнивая мое приложение и карту Google, Googlemap следовал правильному пути дороги, в то время как маркер моего приложения немного смещался от дороги. Затем я попробовал некоторые настройки с маркером. Так

mPositionMarker = mMap.addMarker(new MarkerOptions()
                .flat(true)
                .icon(BitmapDescriptorFactory
                        .fromResource(R.drawable.positionIndicator))
                .anchor(0.5f, 0.5f)
                .position(
                        new LatLng(location.getLatitude(), location
                                .getLongitude())));

Это сработало для меня. Это расположило мой маркер в том же месте, что и на карте Google. (Хотя зависит от точности определения местоположения).

Спасибо за ответ здесь

person Kapil    schedule 11.09.2014
comment
LocationClient устарел. Посмотрите этот ответ для текущих параметров: LocationManager или API службы определения местоположения. - person MiguelHincapieC; 29.11.2014