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

как получить координаты маркера на карте?


AndroidHalfNoob

Вопрос

Народ подскажите как получить координаты маркера на карте?

Пишу гибридное приложение, которое подключается к БД и расставляет на карте маркеры. При нажатии на маркер можно глянуть информацию.

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

Ссылка на комментарий

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

  • 0
  • Администраторы

Вопрос:

Народ подскажите как получить координаты маркера на карте?

 
Ответ:

TMapMarker.Descriptor.Position

 Что именно не понятно?

Ссылка на комментарий
  • 0

Вопрос:

Народ подскажите как получить координаты маркера на карте?

 

Ответ:

TMapMarker.Descriptor.Position

 Что именно не понятно?

var
my:TMapMarker;
 
Label1.Text:= floattostr(my.Descriptor.Position);
выдает ошибку. как вывести координаты?
Ссылка на комментарий
  • 0

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

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

Ссылка на комментарий
  • 0
  • Модераторы

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

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

не понял суть проблемы, по нажатию на маркер возникает ошибка?

Ссылка на комментарий
  • 0

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

post-1544-0-53860600-1442305035_thumb.jp

Ссылка на комментарий
  • 0
  • Модераторы

в чем проблема? при OnTap  например вызываете вторую форму в синхронизации обязательно и на кнопке "Готово" отрисовываете маркер

Ссылка на комментарий
  • 0

в чем проблема? при OnTap  например вызываете вторую форму в синхронизации обязательно и на кнопке "Готово" отрисовываете маркер

а что за событие OnTap ?

и в синхронизации имеется в виду что на второй форме так же элемент карты отображается с теми же маркерами что и на первой форме?

Изменено пользователем AndroidHalfNoob
Ссылка на комментарий
  • 0
  • Модераторы

 

в чем проблема? при OnTap  например вызываете вторую форму в синхронизации обязательно и на кнопке "Готово" отрисовываете маркер

а что за событие OnTap ?

 

это я для примера привел, это событие которое вызывается при тапе на TMapView

Ссылка на комментарий
  • 0

В том то и дело что при любом событии приложение закрывается.

делал открытие второй формы при двойном нажатии на MapView

и делал при нажатии на кнопку.
если вторая форма открывается то все маркеры на первой надо удалять?

 

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

при нажатии появляется вторая форма но при этом  MapView еще видно. программа работает 2-3 секунды после вызова второй формы и вылазит ошибка "приложение остановлено"

Изменено пользователем AndroidHalfNoob
Ссылка на комментарий
  • 0

везде уже написали в темах по MapView что нужно деактивировать MapView перед закрытием формы

я хоть в Андройде и полу нуб, но не на столько же. 

MapView1.Enabled

MapView1.Free

 MapView1.Destroy

ни чего не помогает.

Ссылка на комментарий
  • 0
  • Модераторы

возможно нет проблем только на XE 10,

procedure TForm22.MapView1MapClick(const Position: TMapCoordinate);
begin
  myCoordTap.Latitude := Position.Latitude;
  myCoordTap.Longitude := Position.Longitude;

  Form1.Show;
end;

на кнопке, второй формы

  // маркер по нажатию
  myDescrTap := TMapMarkerDescriptor.Create(myCoordTap, Edit1.Text);
  myDescrTap.Icon := TBitmap.Create;
  myDescrTap.Icon.Assign(Form22.ImageList1.Source[1].MultiResBitmap.Bitmaps[DeviceInfo.diScale].BitmapItem.Bitmap);
{$IFDEF ANDROID}
  myDescrTap.Appearance := TMarkerAppearance.Billboard;
{$ENDIF}
  // myDescrTap.Snippet := myRouteInfo.DistanceAsString + ', ' + myRouteInfo.DurationAsString;
  myMarkerTap := Form22.MapView1.AddMarker(myDescrTap);

  Close;
Ссылка на комментарий
  • 0
моя процедура выхода в работающем проекте
 
procedure TfMap.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  FreeAndNil(FMarker);
  FreeAndNil(FLocationMarker);
  map1.Visible:=false;
  Action := TCloseAction.caFree;
end
;
Ссылка на комментарий
  • 0

может и действительно в 8-ке глючит.
в событии MapView1MapClick

пишу

tapDescr := TMapMarkerDescriptor.Create(Position);
MapView1.AddMarker(tapDescr);
то маркер добавляет на форму 
если дописываю
Form4.show;
то все... приложение аварийно завершается
тот же эффект если разделяю процедуры. при нажатии на карту просто добавляю маркер а при нажатии на кнопку должна форма появляться. приложение вываливается с ошибкой.
Ссылка на комментарий

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

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

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

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

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

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

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

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

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

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