Strassenkarte anzeigen via Url
Verfasst: 02.06.2011 21:38
Da ich von Javascript keine Ahnung habe, aber trotzdem eine Strassenkarte haben wollte, habe ich die Google Static Maps API gefunden. Ist simpel, aber natürlich auch nicht so komfortabel.
Wenn Google die Adresse nicht erkennt, erscheint ein leeres Bild. Ursache ist meist falsche Schreibweise oder Zeichen die nicht akzeptiert werden. Auch Leerzeichen + Großbuchstaben bei den Parametern in der URL werden meist nicht akzeptiert.
Das Containergadget ist dazu da, die Ränder abzuschneiden und den Scrollbalken verschwinden zu lassen.
Wenn Google die Adresse nicht erkennt, erscheint ein leeres Bild. Ursache ist meist falsche Schreibweise oder Zeichen die nicht akzeptiert werden. Auch Leerzeichen + Großbuchstaben bei den Parametern in der URL werden meist nicht akzeptiert.
Das Containergadget ist dazu da, die Ränder abzuschneiden und den Scrollbalken verschwinden zu lassen.
Code: Alles auswählen
;http://code.google.com/intl/de-DE/apis/maps/documentation/staticmaps/
Enumeration 1
#mainwindow
#webgadget
#spingadget
#combogadget
#stringgadget
#buttongadget
EndEnumeration
Procedure.s MakeUrl()
Protected adr.s, url.s
adr = Trim(GetGadgetText(#stringgadget))
adr = ReplaceString(adr, "Ä", "Ae")
adr = ReplaceString(adr, "Ö", "Oe")
adr = ReplaceString(adr, "Ü", "Ue")
adr = ReplaceString(adr, "ä", "ae")
adr = ReplaceString(adr, "ö", "oe")
adr = ReplaceString(adr, "ü", "ue")
adr = ReplaceString(adr, "ß", "ss")
adr = URLEncoder(adr) ;:Debug adr
url = "http://maps.google.com/maps/api/staticmap"
url + "?center=" + adr
url + "&size=460x460"
url + "&maptype=" + LCase(Trim(GetGadgetText(#combogadget)))
url + "&sensor=false"
url + "&markers=size:mid|color:blue|label:S|" + adr
url + "&zoom=" + Str(GetGadgetState(#spingadget))
ProcedureReturn url
EndProcedure
OpenWindow(#mainwindow, 0, 0, 488, 518, "GoogleMap-Test", #PB_Window_ScreenCentered|#PB_Window_SystemMenu)
ContainerGadget(#PB_Any, 10, 10, 468, 468, #PB_Container_Double)
WebGadget(#webgadget, -8, -13, 500, 500, "")
CloseGadgetList()
ComboBoxGadget(#combogadget, 10, 488, 80, 20)
AddGadgetItem(#combogadget, -1," Roadmap")
AddGadgetItem(#combogadget, -1," Satellite")
AddGadgetItem(#combogadget, -1," Hybrid")
AddGadgetItem(#combogadget, -1," Terrain")
SetGadgetState(#combogadget, 0)
StringGadget(#stringgadget, 100, 488, 298, 20, "Neumünster Mühlenhof 5")
ButtonGadget(#buttongadget, 408, 488, 30, 20, "Go")
SpinGadget(#spingadget, 448, 488, 30, 20, 1, 21, #PB_Spin_Numeric)
SetGadgetState(#spingadget, 16)
SetGadgetText(#webgadget, MakeUrl())
AddKeyboardShortcut(#mainwindow, #PB_Shortcut_Return, #buttonGadget)
Repeat
event = WaitWindowEvent()
Select EventWindow()
Case #mainwindow
Select event
Case #PB_Event_Gadget, #PB_Event_Menu
Select EventGadget()
Case #spingadget
If EventType() = #PB_EventType_Change
SetGadgetText(#webgadget, MakeUrl())
EndIf
Case #combogadget
If EventType() = #PB_EventType_TitleChange
SetGadgetText(#webgadget, MakeUrl())
EndIf
Case #buttonGadget
SetGadgetText(#webgadget, MakeUrl())
EndSelect
EndSelect
EndSelect
Until event = #PB_Event_CloseWindow