Перейти к содержанию
Fire Monkey от А до Я

dim

Пользователи
  • Постов

    44
  • Зарегистрирован

  • Посещение

Весь контент dim

  1. Воспользовался компонентом mEngine, при написании запускал на Lenovo все работало нормально, перенес на планшетник, все вроде работает только не геокодирует по координатам mEngine.Geocoding адрес не возвращает (при этом на ленове тут же все нормально показывает) не подскажете куда копать (проблема еще в том что планшет не могу подключить для отладки) procedure TMasterDetailForm.OnLocationChange(Sender: TObject; const OldLocation, NewLocation: TLocationCoord2D); begin TThread.Synchronize(nil, procedure begin // перемещаемся по карте в текущие координаты, с зумом 14 (макс 16) myLoc := TMapCoordinate.Create(NewLocation.latitude, NewLocation.longitude); MapView1.Location := myLoc; MapView1.Zoom := 17; TTask.Run( procedure begin // геолокация mEngine.Geocoding(myLoc, myLocInfo); // геокодинг для записи заголовка в marker TThread.Synchronize(nil, procedure var markDescriptor: TMapMarkerDescriptor; begin // MyLocInfo хранит все данные геокодинга Label6.Text := myLocInfo.FormattedAddress; Label6.Text := Label6.Text+ ' -> '+KlLocInfo.FormattedAddress; markDescriptor := TMapMarkerDescriptor.Create(myLoc, myLocInfo.FormattedAddress); SetMarker(MapView1,myLoc,1,'',markDescriptor); end); end); end); end;
  2. нет, у меня на всех работать перестала, может с key гуглевым связано? может где то что то у них поменялось
  3. Есть код который работает при смещении карты и получив координаты центра пытаюсь получить адрес по ним. 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); подскажите куда копать
  4. Сделал по типу "ScrollableForm". При открытии клавиатуры форма сдвигается, вроде все работает как надо, но если после набора текста нажать на кнопку "Сохранить" то происходит закрытие клавиатуры и смещение кнопки "Сохранить" и соответственно сохранение не происходит и требуется еще раз нажать на кнопку. Можно как то это обойти, например сделать задержку закрытия клавиатуры?
  5. как отобразить движение маркера без мигания. Пытаюсь сделать так: while not dateset.Eof do Begin bdcoord:=TMapCoordinate.Create(dateset.FieldByName('Latitude').AsFloat, dateset.FieldByName('longitude').AsFloat); IFind:=false; for Marker in FMarkers do begin if Marker.Descriptor.Snippet=dateset.FieldByName('driverid').AsString Then Begin Marker.Remove; SetMarker(MapView3,bdcoord,1,dateset.FieldByName('driverid').AsString); IFind:=true; Break; End; end; if not IFind then SetMarker(MapView3,bdcoord,1,dateset.FieldByName('driverid').AsString); dateset.Next; End; но просто еще один маркер добавляется, а старый не удаляет. Если делаю как написано на форуме: сначала удаляю все for Marker in FMarkers do begin Marker.Remove; end; FMarkers.Clear; то работает, но идет мигание маркеров
  6. а как делают другие программы там на карте и поля поиска располагают и кнопки
  7. пока сделал так (очень криво): procedure TMasterDetailForm.MapView3CameraChanged(Sender: TObject); var myGeocoder: TGeocoder; myCoordinat: TLocationCoord2D; begin if not Assigned(myGeocoder) then begin if Assigned(myGeocoder.Current) then myGeocoder := TGeocoder.Current.Create; if Assigned(myGeocoder) then myGeocoder.OnGeocodeReverse := OnGeocodeReverseEventStart; end; // Translate location to address myCoordinat.latitude := MapView3.Location.Latitude; myCoordinat.longitude := MapView3.Location.longitude; if FMyMarkers<>nil then FMyMarkers.Remove; SetMarker(MapView3,TMapCoordinate.Create(myCoordinat.Latitude,myCoordinat.Longitude),0); if Assigned(myGeocoder) and not myGeocoder.Geocoding then myGeocoder.GeocodeReverse(myCoordinat); end; при смещении карты маркер всегда встает по центру, но не постоянно, а только после перемещения. помогите, неужели ни кто не делал определение адреса по карте.
  8. dim

    MapView с маркером в центе

    Подскажите как сделать. Нужно разместить маркер по центру компонента MapView и что бы при перемещении по карте он так и оставался видимым по центру и соответственно myCoordinat.latitude := MapView3.Location.Latitude; myCoordinat.longitude := MapView3.Location.longitude; выдавал координаты под этим маркером и второй вопрос: по полученным координатам я получаю адрес myGeocoder.GeocodeReverse(myCoordinat) , но он не соответствует КЛАДР (да и вообще много ошибок в названии улиц), а мне надо привязать к своей базе адресов. Посоветуйте кто как выходил из ситуации, или как получить из него список всех улиц по городу
  9. на KeyUp у Edit не срабатывает (на текст срабатывает, а когда #13 нет). на FormKeyUp срабатывает, но не могу определить какой Edit сейчас активный
  10. как сделать переход между контролами? почитал про returnkeytype=Next но у меня не работает, максимум KillFocusByReturn если true закрывает клаву, но хотелось бы сделать переход. если SetFocus ставить то работает, но это не правильно для каждого Edita прописывать, раньше (для винды) делал procedure TForm.FormKeyPress(Sender: TObject; var Key: Char); begin if (Key = #13)then begin Key := #0; Perform(WM_NEXTDLGCTL, 0, 0); end; end; Есть ли что то подобное для андроида?
  11. есть форма вверху image, внизу Edit при начале редактирования снизу открывается клавиатура и перекрывает поле ввода. Как сделать что бы форма прокрутилась вверх и edit был виден
  12. есть сервер DataSnap, если после подключения к нему клиента сервер выключит и включить снова то клиент выдает ошибку если отловив ее на клиенте делаю SQLConnection1.Connected:= False; SQLConnection1.Connected:= True; все равно не работает дальше, надо закрыть программу и снова открыть как избавится от этого? xe10.1
  13. Если на форме лежит MultiView у которого Mode:= TMultiViewMode.Drawer на нем лежит MapView. Если открывается боковое меню то оно находиться под MapView и соответственно не доступно. Как это исправить?
  14. сейчас модно показывать аватарки круглыми, можно ли на XE10 у timage это сделать? не могу вспомнить, но вроде где-то наталкивался, что толи настройками, толи стилями это делается легко
  15. Я тоже так думал, но он возвращает null а owner возвращает form2
  16. Создаю динамически ListBoxItem и размещаю на них кнопу lbi:=TListBoxItem.Create(ListBox2); lbi.Parent:=ListBox2; lbi.StyleLookup:='listboxitembottomdetail'; lbi.Height:=57; lbi.ItemData.Text:='Добавить'; lbi.ItemData.Detail:=''; SpeedButton2:=TSpeedButton.Create(lbi); SpeedButton2.Action:=del_adres; SpeedButton2.Align:=TAlignLayout.Right; SpeedButton2.StyleLookup:='trashtoolbutton'; SpeedButton2.Width:=48; SpeedButton2.Parent:=lbi; SpeedButton2.Tag:=ListBox2.Count-2; как при нажатии на кнопку получить ее ListBoxItem чтобы удалить
×
×
  • Создать...