Forum | | | | 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? |
| | | | |
| | Thomas Freier | Etwas in der Richtung? [...]
Nachtrag: Mit einer Offlinekarte ? [...] |
| | | | |
| | 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
|
| | | | |
| | 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
|
| | | | |
| | p.specht
| Gute Idee, bei mir "scriptfehler", was muss ich anpassen? |
| | | XProfan 11Computer: 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!'
|
| | | | |
| | 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: [...]
|
| | | | |
| | 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
|
| | | | |
| | 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. |
| | | | |
| | 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. |
| | | | |
| | 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. |
| | | | |
| | Tommy | Funzt! GENIAL! Besten Dank! |
| | | | |
|
AntwortenThemenoptionen | 12.396 Betrachtungen |
ThemeninformationenDieses Thema hat 4 Teilnehmer: |