Discussion:
Pobieranie danych GPS z mapy i wpis do bazy
(Wiadomość utworzona zbyt dawno temu. Odpowiedź niemożliwa.)
Phantom
2020-01-31 09:08:18 UTC
Permalink
Witam
dotyczy: każda wersja ponieważ jestem zdesperowany ;)

Szukam następującego rozwiązania:
1. otwieram formularz dodawania danych dla kontrahenta;
2. wprowadzam jego dane;
3. przycisk np.: "przypnij do mapy..";
4. otwiera się np.: GoogleMaps lub OpenStreetMap i pokazuje zbliżenie na np.: Kraków;
5. klikam w mapę;
6. w formularzu danych kontrahenta wpisuje się x i y z mapy.

A możne już ktoś?, gdzieś? takie rozwiązanie lub podobne widział?

Proszę o pomoc.
Pozdrawiam
Tomek
a***@bratko.eu
2020-02-01 12:55:54 UTC
Permalink
Post by Phantom
Witam
dotyczy: każda wersja ponieważ jestem zdesperowany ;)
1. otwieram formularz dodawania danych dla kontrahenta;
2. wprowadzam jego dane;
3. przycisk np.: "przypnij do mapy..";
4. otwiera się np.: GoogleMaps lub OpenStreetMap i pokazuje zbliżenie na np.: Kraków;
5. klikam w mapę;
6. w formularzu danych kontrahenta wpisuje się x i y z mapy.
A możne już ktoś?, gdzieś? takie rozwiązanie lub podobne widział?
Znowu poszło na priv. Ach ten Thunderbird
__________________________________________

Kiedyś coś takiego robiłem, dla OpenStreetMap osadzonej w formularzu
MS Access w formancie Microsoft Web Browser.

Tworzysz w pliku *.html dodatkowe dwa pola np. poleLat, poleLon
i w sekcji (funkcji) inicjalizującej rejestrujesz zdarzenie Click mapy
przekazując w nim poszczególne pola.

Coś w tym rodzaju:

/*zdarzenie klikniecia na mapie (wspolrzedne kliknietego punktu) */
map.events.register("click", map, function(e) {
var position = map.getLonLatFromViewPortPx(e.xy).transform(epsg900913, epsg4326);

OpenLayers.Util.getElement("latClick").value = position.lat;
OpenLayers.Util.getElement("lonClick").value = position.lon;
});

Po kliknięciu na mapie wypełniane są pola strony "latClick" i "lonClick"
współrzędnymi.

Teraz w formularzu w funkcji zapisujesz dane w formantach MS Access
'_______________________________________________
Private Function myDocument_onclick() As Boolean

Me.txtClickLon.Value = myDocument.getElementById("lonClick").Value
Me.txtClickLat.Value = myDocument.getElementById("latClick").Value
MsgBox "Lon=" & myDocument.getElementById("lonClick").Value & " Lat=" & myDocument.getElementById("latClick").Value

End Function

a gdzieś wcześniej:

Private Sub MyWebBrowser_DocumentComplete(ByVal pDisp As Object, URL As Variant)

Set myDocument = Me.MyWebBrowser.Document

.....


O ile pamiętam kod działał we wczesnych wersjach OpenLayers, bodajże ver. 1 i ver.2

Obena wersja to chyba ver.5, ale wszyst w niej jest totalnie pozmieniane.
--
Zbigniew Bratko
Phantom
2020-02-01 13:17:56 UTC
Permalink
Dziękuję za odpowiedź.
Na razie czarna magia ale może to rozgryzę.
Nie śmiem prosić o mdb.

PS.: bardzo dobrze że na piva
BraZby
2020-02-08 12:12:48 UTC
Permalink
Post by Phantom
Dziękuję za odpowiedź.
Na razie czarna magia ale może to rozgryzę.
Nie śmiem prosić o mdb.
PS.: bardzo dobrze że na piva
Był kiedyś wątek na grupie zatytułowany „Grawerowanie siekierą …”.
Ten wątek to właśnie taka sama czynność.
Bardzo stare biblioteki OpenLayers ver. 2.11 i ver. 2.13.1 (obecnie
najnowsza to chyba ver. 5) i chyba jeszcze starszy formant „Microsoft
Web Browser”, pamiętający być może czasy Access A2k.
OL prawidłowo generuje zdarzenie Click, ale formant „Microsoft Web
Browser” nie odróżnia zdarzenia ondblclick i onmousemove od zdarzenie
click.
LPM w Down i LPM Up to już zdarzenie Click.

By jakoś wybrnąć z sytuacji do roboty został zaprzęgnięty Timer
formularza, zerowanie formantów, zmienne na poziomie modułu i inne
pierdoły. No i jakoś „wygrawerowałem” przykład.

Tylko nie proś, by w miejscu kliknięcia pojawił się marker. Jeśli już,
to za pół roku, albo później, bo Accessem coraz mniej się bawię. Mam
inne zabawki 😉

Przykładowe "grawerowanie siekierą" na stronie:
http://accdb.pl/tmp/LonLat-02_accOpenLayers_99.zip
--
Pozdrowienia
BraZby
www.faq.accdb.pl
www.accdb.pl
Phantom
2020-02-14 10:24:23 UTC
Permalink
BraZby
2020-03-07 17:47:45 UTC
Permalink
Nie ma problemu, zgłoszę się za pół roku ;)
Dzięki
Temat nie dawał mi spokoju. Okazał się, że miesiąc wystarczył.
Na stronie http://www.gps.accdb.pl/openlayers-click-lonlat.html
jest do pobrania przykładowa baza, w której
przedstawiam opis problemów związanych z odczytem współrzędnych Lon Lat
punktu 'klikniętego' na mapie. Po kliknięciu zostaje
wstawiony w wybranym punkcie znacznik (marker)
który po 'kliknięciu' wyświetla okno PopUp (dymek) z informacją
o wybranym punkcie.

W dalszym ciągu uważam, że jest to 'grawerowanie siekierą', aczkolwiek
w dużym stopniu wymuszonym przez M$ Office.
--
Pozdrowienia
BraZby
www.faq.accdb.pl
www.accdb.pl
Loading...