• 0
Авторизация  
Edward Tarasov

Навигация TmapView

Вопросы

Подскажите плз студенту, весь инет перерыл - ничего кроме tmapview не нашел, и тот позволяет только отображать маркеры и прокладывать через них маршрут... ок маршрут проложили а как включить навигацию? чтобы телка сказала - поверни те туда то.... не ясно, и возможно ли вообще такое? 

Кстатить при использовании tmapview вместо карты - пустой экран.

вообщем надо передать в tmapview мое местоположение и куда надо идти, затем включить навигацию

Кто занет как сделать ?????????

Или может есть возможность использовать встроенные возможности навигации?

Изменено пользователем Edward Tarasov

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 ответов на этот вопрос

  • 0
9 часов назад, Edward Tarasov сказал:

может есть возможность использовать встроенные возможности навигации

Нет понятия "встроенных возможностей навигации".

Вам надо - вы в своем приложении и:

- отслеживайте положение,
- меняйте маркер (положение /поворот),
- смотрите - ушел с маршрута или нет,
- озвучивайте "телку"
- и так далее.

Совокупность всех этих действий и будет тем, что вы подразумеваете под "навигацией".
Только учтите, что пользоваться для прокладки маршрута вы будете чьим-то API. А лицензионные соглашения по их использованию имеют ограничения. Печально будет, если на очередном запуске вашего приложения гугл / яндекс / ситигид / другой провайдер скажут "до свидания".

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
15 часов назад, Edward Tarasov сказал:

Или может есть возможность использовать встроенные возможности навигации?

Проще всего из программы открыть яндекс или другой навигатор с установленными точками куда идти. Самому сделать  нормальный навигатор - это чьё-то платное api, так как бесплатное не гарантированно будет отдавать данные, ну и месяцы работы.
 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
4 часа назад, Akad сказал:

Проще всего из программы открыть яндекс или другой навигатор с установленными точками куда идти. Самому сделать  нормальный навигатор - это чьё-то платное api, так как бесплатное не гарантированно будет отдавать данные, ну и месяцы работы.
 

Вот как это сделать?? из программы открыть встроенный навигатор, я об это и спрашивал(Или может есть возможность использовать встроенные возможности навигации?) 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 1

Вот так я открываю яндекс навигатор:



var
   Intent: JIntent;
   pm: JPackageManager;
   tempList: JList;
begin
.....
   Intent := TJIntent.Create;
   Intent.setAction
      (StringToJString('ru.yandex.yandexnavi.action.BUILD_ROUTE_ON_MAP'));
   Intent.setPackage(StringToJString('ru.yandex.yandexnavi'));
   pm := SharedActivity.getPackageManager;
   tempList := pm.queryIntentActivities(Intent, 0);

   // Проверяем, установлен ли Яндекс.Навигатор
   if (tempList = nil) or (tempList.SIZE = 0) then
   begin
      // Если нет - будем открывать страничку Навигатора в Google Play
      Intent := TJIntent.Create;
      Intent.setAction(TJIntent.JavaClass.ACTION_VIEW);
      Intent.setData(StrToJURI('market://details?id=ru.yandex.yandexnavi'));
   end
   else
   begin
      // intent.putExtra(StringToJString('lat_from'), g_CurrentLocation.la);
      // intent.putExtra(StringToJString('lon_from'), g_CurrentLocation.lo);
      Intent.putExtra(StringToJString('lat_to'), StringToJString(las));
      Intent.putExtra(StringToJString('lon_to'), StringToJString(los));
      // intent.putExtra(StringToJString('desc'), StringToJString(LOS));
   end;

   SharedActivity.startActivity(Intent);
end;

Тут задаётся куда. Так же можно откуда и описание (комментировано)

9 минут назад, Edward Tarasov сказал:

Или может есть возможность использовать встроенные возможности навигации?

Их нету. Есть возможность статично что-то отобразить. Не более.

 

Изменено пользователем Akad

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

если кому лень искать инфу, может пригодится... на основе ответа от Akad для google maps

uses
  Androidapi.Helpers, Androidapi.JNI.GraphicsContentViewText

...
  
var Intent: JIntent;
begin
  Intent := TJIntent.Create;
  Intent.setAction(TJIntent.JavaClass.ACTION_VIEW);
  try
    Intent.setData(StrToJURI('google.navigation:q='+GX+','+GY+'&mode=d')); //если есть google maps
  except
    Intent.setData(StrToJURI('https://www.google.com/maps/dir/?api=1&destination='+GX+','+GY+'&travelmode=driving')); //иначе открываем ссылку в браузере
  end;
  SharedActivity.startActivity(Intent);
end;

 

Изменено пользователем beklexx

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация