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