Deutsch
Forum

Google Maps

 
- Seite 1 -



Tommy
Eine kurze Recherche zum Thema : Anzeigen von Landkarten mit Google-Maps.
Gibt's bereits Erfahrungen mit der Einbindung einer Api dazu ?
Ich erfasse Haltestellendaten und möchte die Lage des Punktes durch Übernahme der
Orts - und Straßenangaben via Landkarte anzeigen und die Koordinaten dabei übernehmen und in der Datenbank mit ablegen.
Große Aufgabe oder gibt es bereits Ähnliches?
 
23.01.2014  
 



 
- Seite 1 -



Thomas
Freier
Etwas in der Richtung? [...] 

Nachtrag: Mit einer Offlinekarte ? [...] 
 
Gruß Thomas
Windows XP SP2, XProfan X2
24.01.2014  
 




Tommy
GENAU! webmart.de stellt, wie Google Maps auch, die Karte nach Eingabe der Adresse zur Verfügung. Mein Ziel wäre es, die Adresse vom Programm zu übergeben (Aufruf durch URL?" und die Anzeige der Karte in einem Fenster darzustellen. Ein spezielles Goodie wäre natürlich noch die Übernahme der Koordinaten....
Im Code anbei kann ich zwar - nach Anzeige des Bildes in der aufklappenden Bildanzeige für PNG's und dem Ladebalken für die Seite die Karte in dem Browserfenster sehen, aber der Ablauf
ist so unbrauchbar.

Hast Du dazu weiterführende Ideen??

Gruß Tommy
'$I firebird.inc
' Datenbank
' ---------
'var fbDLL& = fbUseDLL("fbclient.dll",0)
'declare hdb& 'Handle der Datenbank
'Deklariere Eingabefelder
'------------------------
'Haltestellenname, Ort, latitude, longitude, Bucht, Buchtlänge, Echtzeitsystem, Funk, IP, Kennung1, Kennung2, Strasse, Nr, PLZ
Declare HST_Name$,HST_Ort$,Latitude$,Longitude$,Bucht$,Buchtlaenge$,Echtzeit$, Funk$, IP$, Kennung1$, Kennung2$, Strasse$, Nr$, PLZ$
Declare HST_Name&,HST_Ort&,Latitude&,Longitude&,Bucht&,Buchtlaenge&,Echtzeit&, Funk&, IP&, Kennung1&, Kennung2&, Strasse&, Nr&, PLZ&
Declare GoogleString$, Webcontrol&
Declare e%,x%,y%,zh%
Declare Save&,Exit&
Def GetSysColor(1) !"USER32","GetSysColor"
Set("SQLColWidth",15)
' Datenbank Verbindung herstellen
'hdb& = fbInit("SYSDBA", "masterkey", "3TSDatabase.fdb" ,0)
x% = 955
y% = 435
zh%= 25
WindowTitle "Haltestelle erfassen"
WindowStyle 48 + 512
Window (%MaxX - x%) / 2,(%MaxY - y%) / 2 - x%,y%
UseFont "Arial",16,0,0,0,0
SetDialogFont 1
CLS GetSyscolor(15)
Create("Text",%HWnd,"Haltestellenname:",10,20,100,20)
HST_Name& = Create("Edit",%HWnd,"",140,20,350,20)
Create("Text",%HWnd,"Strasse/Gasse:",10,20+zh%,100,20)
Strasse& = Create("Edit",%HWnd,"",140,20+zh%,350,20)
Create("Text",%HWnd,"Nr:",500,20+zh%,30,20)
Nr& = Create("Edit",%HWnd,"",550,20+zh%,30,20)
Create("Text",%HWnd,"Ort:",10,20 + zh%*2,75,20)
HST_Ort& = Create("Edit",%HWnd,"",140,20 + zh%*2,200,20)
Create("Text",%HWnd,"Plz:",360,20 + zh%*2,75,20)
Plz& = Create("Edit",%HWnd,"",420,20 + zh%*2,70,20)
Create("Text",%HWnd,"Latitude (Breite) :",10,20 + 3 * zh%,140,20)
Latitude& = Create("Edit",%HWnd,"",140,20 + 3 * zh%,150,20)
Create("Text",%HWnd,"Longitude (Länge):",310,20 + 3 * 25,140,20)
Longitude& = Create("Edit",%HWnd,"",450,20 + 3 * 25,150,20)
'halbfertiges Teil
'GoogleString$="https://maps.googleapis.com/maps/api/staticmap?center=Berkeley,CA&zoom=14&size=400x400&sensor=false"
var h& = @create("htmlWin",%hWnd,"maps.googleapis.com/maps/api/staticmap?center=Berkeley,CA&zoom=14&size=400x400&sensor=false",5,610,10,300,300)
waitinput
 
24.01.2014  
 




Thomas
Freier
In diese Richtung?
'Haltestellenname, Ort, latitude, longitude, Bucht, Buchtlänge, Echtzeitsystem, Funk, IP, Kennung1, Kennung2, Strasse, Nr, PLZ
Declare HST_Name$,HST_Ort$,Latitude$,Longitude$,Bucht$,Buchtlaenge$,Echtzeit$, Funk$, IP$, Kennung1$, Kennung2$, Strasse$, Nr$, PLZ$
Declare HST_Name&,HST_Ort&,Latitude&,Longitude&,Bucht&,Buchtlaenge&,Echtzeit&, Funk&, IP&, Kennung1&, Kennung2&, Strasse&, Nr&, PLZ&
Declare GoogleString$, Webcontrol&
Declare e%,x%,y%,zh%
Declare Save&,Exit&
Def GetSysColor(1) !"USER32","GetSysColor"
Set("SQLColWidth",15)
' Datenbank Verbindung herstellen
'hdb& = fbInit("SYSDBA", "masterkey", "3TSDatabase.fdb" ,0)
x% = 955
y% = 435
zh%= 25
WindowTitle "Haltestelle erfassen"
'WindowStyle 48 + 512
Window (%MaxX - x%) / 2,(%MaxY - y%) / 2 - x%,y%
UseFont "Arial",16,0,0,0,0
SetDialogFont 1
CLS GetSyscolor(15)
Create("Text",%HWnd,"Haltestellenname:",10,20,100,20)
HST_Name& = Create("Edit",%HWnd,"",140,20,350,20)
Create("Text",%HWnd,"Strasse/Gasse:",10,20+zh%,100,20)
Strasse& = Create("Edit",%HWnd,"",140,20+zh%,350,20)
Create("Text",%HWnd,"Nr:",500,20+zh%,30,20)
Nr& = Create("Edit",%HWnd,"",550,20+zh%,30,20)
Create("Text",%HWnd,"Ort:",10,20 + zh%*2,75,20)
HST_Ort& = Create("Edit",%HWnd,"",140,20 + zh%*2,200,20)
Create("Text",%HWnd,"Plz:",360,20 + zh%*2,75,20)
Plz& = Create("Edit",%HWnd,"",420,20 + zh%*2,70,20)
Create("Text",%HWnd,"Latitude (Breite) :",10,20 + 3 * zh%,140,20)
Latitude& = Create("Edit",%HWnd,"",140,20 + 3 * zh%,150,20)
Create("Text",%HWnd,"Longitude (Länge):",310,20 + 3 * 25,140,20)
Longitude& = Create("Edit",%HWnd,"",450,20 + 3 * 25,150,20)
'Kordinaten der Haltestelle sind bekannt
settext Latitude&,"48.13699"
settext Longitude&,"11.5754"
'jetzt die html erzeugen
STANDORT
var h& = @create("htmlWin",%hWnd,$TempDir +"Test.html",5,610,10,300,300)

while 1

    waitinput

wend

End

proc STANDORT'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ html erzeugen

    assign #2,$TempDir +"Test.html"
    rewrite #2
    Print #2,"<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'"
    Print #2,"'https://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>"
    Print #2,"<html xmlns='https://www.w3.org/1999/xhtml' xmlns:v='urn:schemas-microsoft-com:vml'>"
    Print #2,"<HEAD>"
    Print #2,"<TITLE>Karte</TITLE>"
    Print #2,"<style type='text/css'>"
    Print #2,"#karte { width: 400px; height: 400px;}"
    Print #2,"</style>"
    Print #2,"<script type='text/javascript' src='https://maps.google.com/maps/api/js?sensor=false'></script>"
    Print #2,"<script type='text/javascript'>"
    Print #2,"function initialize() {"
    Print #2, "  var latlng = new google.maps.LatLng("+gettext$(Latitude&)+", "+gettext$(Longitude&)+");"
    Print #2,"  var myOptions = {"
    Print #2,"    zoom: 18,"
    Print #2,"    center: latlng,"
    Print #2,"    mapTypeId: google.maps.MapTypeId.ROADMAP"
    Print #2,"  };"
    Print #2,"  var map = new google.maps.Map(document.getElementById('karte'),  myOptions);"
    Print #2,"  var marker = new google.maps.Marker({"
    Print #2,"      position: latlng,"
    Print #2,"      map: map,"
    Print #2,"      title: 'Hallo Meister."+chr$(092)+chr$(110)+" Ich bin hier!' "
    Print #2,"  });}"
    Print #2,"</script>"
    Print #2,"</HEAD>"
    Print #2,"<body onload='initialize()'>"
    Print #2,"  <div id='karte' ></div>"
    Print #2,"</body>"
    Print #2,"</html>"
    Close #2

endproc

 
Gruß Thomas
Windows XP SP2, XProfan X2
25.01.2014  
 




p.specht

Gute Idee, bei mir "scriptfehler", was muss ich anpassen?
 
XProfan 11
Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'...
25.01.2014  
 




Thomas
Freier
Könnte der Zeilenumbruch sein
'Hallo Meister."+chr$(092)+chr$(110)+" Ich bin hier!'
Einmal so testen
'Hallo Meister. Ich bin hier!'
 
Gruß Thomas
Windows XP SP2, XProfan X2
25.01.2014  
 




Thomas
Freier

Ich erfasse Haltestellendaten und möchte die Lage des Punktes durch Übernahme der
Orts - und Straßenangaben via Landkarte anzeigen und die Koordinaten dabei übernehmen und in der Datenbank mit ablegen.


Datenübernahme vielleicht per drag&drop. Namen aus der Karte sind nicht möglich und müßten nachgetragen werden. Beispiel: [...] 


302 kB
Hochgeladen:25.01.2014
Ladeanzahl167
Herunterladen
 
Gruß Thomas
Windows XP SP2, XProfan X2
25.01.2014  
 




Tommy
Hallo Thomas!

irgendwie ist meine letzte Antwort untergegangen

Das Script ist ein genialer Ansatz und sollte sich als Problemlöser einsetzen lassen.
Allerdings wäre es toll, dein Script laufen zu sehen! Bei mir verabschiedet es sich leider mit einem Scriptfehler (siehe Anhang)
Würdest Du da nochmal drüberschauen, bitte?
Auch Dein letzter Ansatz ist für meine Aufgabenstellung sehr überlegenswert!
Ich würde ja eher umgekehrt dran gehen wollen: Die Adresse eingeben und die Koordianten übernehmen.....

Mit vielen Grüßen aus Wien
Tommy


28 kB
Hochgeladen:25.01.2014
Ladeanzahl157
Herunterladen
 
25.01.2014  
 




Thomas
Freier
Ich weis nicht wie ich den Fehler finden könnte. Getestet mit FF, Opera, Safari und k-meleon und keine Probleme. Auch nicht über Xprofan. Kann die Einstellung beim eurem IE die Ursache sein? Anbei die Arbeits-html.

2 kB
Hochgeladen:25.01.2014
Ladeanzahl233
Herunterladen
 
Gruß Thomas
Windows XP SP2, XProfan X2
25.01.2014  
 




Julian
Schmidt
Thomas Freier (25.01.14)
Könnte der Zeilenumbruch sein
'Hallo Meister."+chr$(092)+chr$(110)+" Ich bin hier!'

Einmal so testen
'Hallo Meister. Ich bin hier!'



Tatsächlich muss es so heißen.
Print #2,"      title: 'Hallo Meister"+chr$(092)+chr$(110)+" Ich bin hier!'"

Dann funktioniert es.
 
XProfan X2
Win7 Professional, SP1, AMD FX(tm)-8350 Eight-Core Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
26.01.2014  
 




Thomas
Freier
@Julian, Danke. Ist irgendwie verschütt gegangen als ich hier den Zeilenumbruch nachträglich eingetragen hatte, denn in meiner *.prf war es so enthalten.
 
Gruß Thomas
Windows XP SP2, XProfan X2
26.01.2014  
 




Tommy
Funzt! GENIAL! Besten Dank!
 
26.01.2014  
 



 
- Seite 2 -



Thomas
Freier
Hier noch ein abgewandelter Script von "Pascal" für Tipfaule. Adressen in die Gridbox, per Doppelklick ins EDIT und mit Drag&Drop ins leere Feld von  [...]  Nach dem Suchen dann per Drag&Drop lat und lon in die ensprechenden Spalten ziehen.
 $H Windows.ph
 $H Messages.ph
 $H commctrl.ph
usermessages 16
Def GetSysColor(1) !"USER32","GetSysColor"
Def WindowFromPoint(2)!"USER32","WindowFromPoint"
Def GetCursorPos(1) !"USER32","GetCursorPos"
Declare p#,h&,item&
Dim p#,8
declare FORMATETC#:dim FORMATETC#,20
long FORMATETC#,4=0,1,-1,1
struct STGMEDIUM=tymed&,Value&,IUnknown&
declare STGMEDIUM#:dim STGMEDIUM#,STGMEDIUM

proc GetData'-------------------------------------------------GetData

    parameters IFace&
    var VTable&=long(IFace&,0)
    return call(long(VTable&,12),IFace&,FORMATETC#,STGMEDIUM#)

endproc'-------------------------------------------------------------

proc Dummy'-----------------------------------------------------Dummy

    return 0'--E_OK

endproc'-------------------------------------------------------------

proc Drop'-------------------------------------------------------Drop

    parameters This&,IDataObject&,KeyState&,X&,Y&
    long FORMATETC#,0=~CF_HDROP'----------------Format: DropFiles

    ifnot GetData(IDataObject&)

        var Mem&=~GlobalLock(STGMEDIUM#.Value&)
        INSERT stringw$(Mem&,20)
        '   print "Datei:",stringw$(Mem&,20)
        ~GlobalUnlock(STGMEDIUM#.Value&)
        ~GlobalFree(STGMEDIUM#.Value&)

    endif

    long FORMATETC#,0=~CF_TEXT'-----------------Format: Text

    ifnot GetData(IDataObject&)

        var Mem&=~GlobalLock(STGMEDIUM#.Value&)
        INSERT string$(Mem&,0)
        ~GlobalUnlock(STGMEDIUM#.Value&)
        ~GlobalFree(STGMEDIUM#.Value&)

    endif

    return 0'--E_OK

endproc'-------------------------------------------------------------

Proc INSERT

    Parameters Zeile$
    var a$=Chr$(13)+Chr$(10)'Zeilenumbruch
    GetCursorPos(p#)' Empfänger ist ?
    h&=WindowFromPoint(Long(p#,0),Long(p#,4))
    ~GetCursorPos(HIT#)
    ~ScreenToClient(Lb&,HIT#)
    sendmessage(Lb&,~LVM_HITTEST,0,HIT#)'---------------------Infos über Cursor in Bezug auf Lv
    sendmessage(Lb&,~LVM_SUBITEMHITTEST,0,HIT#)
    zielx&= HIT#.SubItem&
    ziely&= HIT#.Item&

    If h&=Lb&

        If ziely&=-1

            @InsertString(Lb&,0,"|||")
            SetText Lb&,0, zielx&, trim$(zeile$)

        Else

            SetText Lb&,ziely&, zielx&, trim$(zeile$)

        EndIf

    EndIf

EndProc'-------------------------------------------------------------

'=========================================================================
Cls GetSysColor(15)
SetWindowPos %HWND=0,0-570,310;-1
var Font&=Create("Font","MS Sans Serif",16,0,0,0,0)
SETDIALOGFONT Font&
CreateText(%hwnd,"Ziel:",10,12,90,22)
var edi&=Create("RichEdit",%hwnd,"",100,10,300,22)
var text$ = "Ort;0;350;lat;0;80;lon;0;80"
var Lb& = Create("GridBox", %hwnd, Text$, 0, 10, 44, 540, 190)
SetFont Lb&,Font&
declare IDropTarget#,IDropTarget&
dim IDropTarget#,32'-----------------------IDropTarget-Interface
long IDropTarget#, 0=procaddr("Dummy",2)'--QueryInterface
long IDropTarget#, 4=procaddr("Dummy",1)'--AddRef
long IDropTarget#, 8=procaddr("Dummy",1)'--Release
long IDropTarget#,12=procaddr("Dummy",5)'--DragEnter
long IDropTarget#,16=procaddr("Dummy",5)'--DragOver
long IDropTarget#,20=procaddr("Dummy",1)'--DragLeave
long IDropTarget#,24=procaddr("Drop",5)'---Drop
long IDropTarget#,28=IDropTarget#
IDropTarget&=IDropTarget#+28
external("ole32","OleInitialize",0)
external("ole32","RegisterDragDrop",%hwnd,IDropTarget&)
declare HIT#'------LVHITTESTINFO-Struktur
struct HIT=x&,y&,Flags&,Item&,SubItem&
dim Hit#,HIT
declare ziely&,zielx&
AddString(Lb&,"Geniner Straße 50 Lübeck||")
AddString(Lb&,"Marli Straße 50 Lübeck||")
AddString(Lb&,"Ziegel Straße 50  Lübeck||")
SubClass %hwnd, 1
UserMessages 2000

while 1

    waitinput
    case %umessage=16:break

    If (%umessage = 2000)

        text$ = GetText$(Lb&, &uwparam, &ulparam)
        settext edi&,text$
        Setfocus(edi&)
        SendString(edi&,"+({END})")

    Endif

endwhile

external("ole32","RevokeDragDrop",%hwnd)
external("ole32","OleUninitialize")
dispose IDropTarget#,FORMATETC#,STGMEDIUM#,p#,hit#
DeleteObject font&
end

SubClassProc

    If SubClassMessage(%hWnd, ~WM_NOTIFY)

        If Long(&sLParam,8)=-3

            item&=Long(&sLParam,12)

            If item&<>-1

                SendMessage(%hwnd, 2000, item&, Long(&sLParam,16))

            EndIf

        EndIf

    EndIf

EndProc

 
Gruß Thomas
Windows XP SP2, XProfan X2
26.01.2014  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

12.292 Betrachtungen

Unbenanntvor 0 min.
H.Brill01.09.2024
Tommy17.11.2023
RudiB.23.02.2022
rquindt25.08.2020
Mehr...

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie