⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 087-mopymaps.py

📁 this code is used for edit on os of s60
💻 PY
字号:
import urllib, appuifw, e32, graphics, key_codes, os, os.pathAPP_ID = "reuBqRjOdK4E3NaKfEsYopj3459fmas_xg7oa"MAP_URL = "http://local.yahooapis.com/MapsService/V1/mapImage?"MAP_FILE = u"E:\\Images\\mopymap.png"if not os.path.exists("E:\\Images"):        os.makedirs("E:\\Images")def naive_xml_parser(key, xml):        key = key.lower()        for tag in xml.split("<"):                tokens = tag.split()                if tokens and tokens[0].lower().startswith(key):                        return tag.split(">")[1].strip()        return Nonedef new_map():        addr = appuifw.query(u"Address:", "text")        if not addr:                return        params = {"location": addr,                  "appid": APP_ID,                  "image_type": "png",                  "image_height": "600",                  "image_width": "600",                  "zoom": "6"        }        show_text(u"Loading map...")        try:                url = MAP_URL + urllib.urlencode(params)                res = urllib.urlopen(url).read()        except:                show_text(u"Network error")                return        img_url = naive_xml_parser("result", res)        if img_url:                show_text(u"Loading map......")                load_image(img_url)                handle_redraw(canvas.size)        else:                msg = naive_xml_parser("message", res)                show_text(u"%s" % msg)def load_image(url):        global mapimg, map_x, map_y, status        res = urllib.urlopen(url).read()        f = file(MAP_FILE, "w")        f.write(res)        f.close()        mapimg = graphics.Image.open(MAP_FILE)        map_x = mapimg.size[0] / 2 - canvas.size[0] / 2        map_y = mapimg.size[1] / 2 - canvas.size[1] / 2        status = Nonedef show_text(txt):        global status        status = txt        handle_redraw(canvas.size)def handle_redraw(rect):        if mapimg:                canvas.blit(mapimg, target=(0, 0),                            source=(map_x, map_y))        else:                canvas.clear((255, 255, 255))        if status:                canvas.text((10, 50), status,                            fill=(0, 0, 255), font="title")def handle_keys(event):        global map_x, map_y        if event['keycode'] == key_codes.EKeyLeftArrow:                map_x -= 10        elif event['keycode'] == key_codes.EKeyRightArrow:                map_x += 10        elif event['keycode'] == key_codes.EKeyUpArrow:                map_y -= 10        elif event['keycode'] == key_codes.EKeyDownArrow:                map_y += 10        handle_redraw(canvas.size)def quit():    app_lock.signal()map_x = map_y = 0mapimg = status = Noneappuifw.app.exit_key_handler = quitappuifw.app.title = u"MopyMaps!"appuifw.app.menu = [(u"New location", new_map),                    (u"Quit", quit)]canvas = appuifw.Canvas(redraw_callback = handle_redraw,        event_callback = handle_keys)appuifw.app.body = canvasshow_text(u"Welcome to MopyMaps!")app_lock = e32.Ao_lock()app_lock.wait()

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -