Перейти к содержанию
  • Регистрация
  • 0
dim

Ошибка при определении адреса по координатам

Вопрос

Есть код который работает при смещении карты и получив координаты центра пытаюсь получить адрес по ним.

procedure TMasterDetailForm.MapView3CameraChanged(Sender: TObject);
var
  myCoordinat: TLocationCoord2D;
begin
  inherited;
  myCoordinat.Create(MapView3.Location.Latitude,MapView3.Location.longitude);
  if (int(myCoordinat.Latitude)<>0) then begin //проверяю, что координаты определены

    if not Assigned(fGeocoder) then
    begin
      if Assigned(fGeocoder.Current) then
        fGeocoder := TGeocoder.Current.Create;
      if Assigned(fGeocoder) then
        fGeocoder.OnGeocodeReverse := OnGeocodeReverseEventStart;
    end;
    if Assigned(fGeocoder) and not fGeocoder.Geocoding then
      fGeocoder.GeocodeReverse(myCoordinat);
  end
end;

все работало до очередного обновления, а сейчас ругается "java.io.IOException: Service not Available" на fGeocoder.GeocodeReverse(myCoordinat);

подскажите куда копать

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

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


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

Рекомендуемые сообщения

  • 0

У нас при масштабировании одного проекта сталкивались со следующим:

- на устройствах отсутствовали Google Maps Service (или что-то в это духе)

- сервис режима энергосбережения тушил сервис Google Maps Service (или что-то в это духе)

 

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


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

нет, у меня на всех работать перестала, может с key гуглевым связано? может где то что то у них поменялось

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


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

Нарооод, ну не ужели ни кто не пользуется определением адресов по координатам????

выходит ошибка на строку 

      fGeocoder.GeocodeReverse(myCoordinat);

myCoordinat при вызове имеет правильные координаты, а в unit System.Sensors;

class procedure TGeocoder.GeocodeReverse(
  const Coords: TLocationCoord2D);
begin
  if Geocoding then
    GeocodeError(SGeocodeMultipleRequests);
  FGeocoding := True;
  try
    GeocodeReverseRequest(Coords);
  finally
    FGeocoding := False;
  end;
end;


Coords становится равный {Latitude = -1.1427781371357079e+180, Longitude = -4.8767659040532049e+176}

и соответственно вылазит ошибка

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


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

Присоединяйтесь к обсуждению

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

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


  • Похожий контент

    • От genakust
      Здравствуйте,
      я создал свой ListBoxItem (FMX) который выглядит следующим образом:

      затем я добавил Items динамически в ListBox и получилось следующее:

      Когда я запускаю программу на Windows 10 и выбираю мышкой Item он селектируется, а если запускаю на Андроид- таблете, то я не могу выбрать (селектировать) Item.
      Подскажите пожалуйста, какие могут быть причины длы такого поведения.
      Заранее спасибо.
       
    • От Mohamed BEN AMMAR
      hello 
      i'm using delphi fmx for building android App
      i have this code for Activating The WI-FI icon from android device:
      This could be found here .
      =========== code ==================
      uses
        Androidapi.Helpers,
        Androidapi.JNI.JavaTypes,
        Androidapi.JNI.GraphicsContentViewText,
        Androidapi.JNIBridge,
        Androidapi.JNI.WifiManager;
        procedure SetWifiEnabled (AEnable: Boolean); var   Obj: JObject;   WifiManager: JWifiManager; begin   Obj: = SharedActivityContext.getSystemService (TJContext.JavaClass.WIFI_SERVICE);   if Obj = nil then     Exit;     WifiManager: = TJWifiManager.Wrap ((Obj as ILocalObject) .GetObjectID);   WifiManager.setWifiEnabled (AEnable); end; 
       
       My question is About Activating Android location:
        Is it possible to activate the service location icon from android device
       programatically without using the Location or TLocationSensor component ....?
      however I know exactly that google has been Deactivate this API since android "4" just for security reasons .....
      but i have seen many apps in playstore can activate the service without using 
      this code here ask the user for activate the location manually .... procedure TForm1.GPSSettings; {$IFDEF ANDROID} var Intent: JIntent; {$ENDIF} begin {$IFDEF ANDROID} Intent := TJIntent.Create; Intent := TJIntent.JavaClass.init(TJSettings.JavaClass.ACTION_LOCATION_SOURCE_SETTINGS); TAndroidHelper.Activity.startActivity(Intent); {$ENDIF} end; in other versions like lolipopup can show just the Allow Permission system dialog timer ....( Asking the user for Allowing this App to Activate the service location ......) 
      I have an android device with lolipopup version and i try to execute the location EMBARCADERO sample but 
      this one can not activate the service location ICON even  my device show me the Allow permission dialog where i choose yes allow
      with never ASK....
      Finally ,  I like the WI-FI code above .....
      and i'm wondering if someone here can do this task for me (i need a unit as the WI-FI code above which can offer me
      the option to activate the Service Location ICON )
      I'm ready to paid for that task .....
       
      Sincerelly: Brave.
    • От SIARHEI RAHOUSKI
      Создал проект там куча компонентов. Но разворачивании формы на весь экран компоненты размер не меняют:
      Прочитал про свойства align Но как только я выставлю Group box например left другим right все сбивается в кучу и поправить это не могу. 
      Как настроить align ?

    • От SIARHEI RAHOUSKI
      Как сделать форму с компонентами под все разрешения?

    • От SIARHEI RAHOUSKI
      Как сделать мозаику (drag/drop) ? Получается есть 2 прямоугольника (которые надо перетаскивать)  и есть ещё 2 прямоугольника (которые должны принимать) и ещё есть кнопка проверки. При нажатии определяет правильно ли разместили прямоугольники.
    • От Антон Емельянов
      Приложение не даёт DeviceToken...  ,  (DeviceID есть)
      FDeviceToken := FPushService.DeviceTokenValue[TPushService.TDeviceTokenNames.DeviceToken];

      Тест пример реализован по статье нашего замечательного модератора
      http://blog.rzaripov.kz/2017/02/firebase-android-ios-2.html

      Используется:
      Компиляция SDK Android 5.1
      Среда-разработки Delphi XE 10.2 

      Пожалуйста запустите проект на своей версии Delphi..
      Посмотрите будет  сгенерирован ТОКЕН или нет.. 
      в случае удачи ,  напишите какая у вас версия Дельфи..

      Исходник-проекта:  https://drive.google.com/open?id=1mCPvYYd0tXBALt-J_ymVuzChj_TtztC0
      Только APK: https://drive.google.com/open?id=1x8q4RyVylpGOMjcQYjlvFxFBSQaYs7NL 


      Помогите люди добрые 
      За помощь и консультацию отблагодарю..
       

    • От AliZairov
      Привет. Я сделал новую версию YouTubeApi компоненты. Поддерживаемые VCL & FMX + Mobile.
      Никаких официальных YouTube Api компоненты. Только данные с парсинг. Пример доступен в архиве.
       
      Новый
      ===
      v1.4 - 25/02/2018
        + Устранение проблем
      YouTubeApiDelphi
    • От gresaggr
      Добрый день.
      Как под FMX в ListView сделать подчеркивание Detail в рантайме?
      Пытался делать так:
      LV.ItemAppearanceObjects.ItemObjects.Detail.Font.Style := [TFontStyle.fsUnderline]
      но не срабатывает.
      P.S. Возможно это применить не ко всем строкам, а только к некоторым?
    • От Виталий Иванов
      Ошибка при запуске программы на отладку:
       
      "
      Can't open socket: Permission denied 
      Exiting
      .
      "
       
      кто знает как побороть ? 
       
      Отладку запускаю на OnePlus3 с Android 8.0.0, драйвера Google USB переустанавливал. 

    • От striker
      Всем привет!
      Нужен совет.
      Есть Grid, в нем расписание дня.
      В БД каждая строка это отдельная запись.
      Нужно как-то визуально сделать подобие объединения ячеек в Excel.
      Т.е. нужно занять расписание на 2 часа.
      При этом функционал по событиям для строки "второго часа" должен быть недоступен.
      Может хотя бы границу стирать, т.е. оставлять значение в верхней ячейки, а нижнюю просто не отображать.
      Как это лучше сделать?
      FMX, Windows, Delphi XE6, MySQL
       

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...