2005/09/22

[Mac 相關] 台灣電子地圖 Dashboard Widget 0.1a2 發表

編按:0.1b2(build 687)版已經釋出

9 月 22 日 0.1a2 build 245 更新項目

  • [修正] 已解決無蝦米輸入法 2.0 for Mac OS X 無法在本 widget 的地址輸入欄中文的問題
  • [新增] 如果不拖移地圖,直接點地圖的話,會把讀入以滑鼠點到的點為中心點的地圖的功能。

9 月 18 日 0.1a2 (build 223) 原文

如題,0.1a2 版的台灣電子地圖 Dashboard Widget 更動的部份有:

  • 某某大道(如台北市市民大道)定位錯誤問題已修正。
  • 縣下面的鄉鎮市可以不寫縣,如在舊版要寫“台北縣永和市”才能定位,現在只要填寫“永和”或“永和市”便可以定位(鄉鎮市可以不填),程式會自動對應該鄉鎮市在哪個縣。
  • 加入路標查詢,您可以在地址欄填寫您想查詢的路標,例如“民雄鬼屋”,便可以定位到。如果類似的路標名稱不只一個,那麼便會出現出現選單供您選擇,例如您想找台北市的所有夜市,在地址欄打入“台北夜市”即可找出所有位在台北市內的夜市列表。路標及一般地址查詢模式是由程式自動判別的,規則是只要您的地址沒有輸入路、大道、街等關鍵字,便會被視為路標查詢。
  • 在背面加入地址格式說明。
  • 將程式訊息(如載入資料、錯誤地址等訊息)移到視窗上半部,讓使用者更了解程式正在做什麼。
  • 某些狀況下放大級數的滑桿會顯示錯誤的放大級數,已修正。

下載台灣電子地圖 Dashboard Widget 0.1a2

技術後記

此次比較頭痛的是在 map.com.tw 路標查詢模式所傳回來的 HTML 被 Web Kit JavaScript engine 用 ISO-8859-1 的編碼來解釋,這跟上次 Kijiji Widget 的 UTF-8 編碼有所不同,因為 map.com.tw 不提示編碼,其預設編碼為 big5,但是 Web Kit JavaScript engine 會把 XMLHttpRequest 所傳回來沒有用 meta tag 提示編碼的 HTML 以 ISO-8859-1 轉成英文的 UTF-8,在下找了半天沒有 JavaScript 程式可以把這種 ISO-8859-1 轉成的 UTF-8 再轉成原為中文字 big5 編碼的 UTF-8,所以只好寫了一個用最不拿手的 Objective-C 寫了個 Widget Plug-in 專門轉碼用。由於不太熟 Objective-C,所以花了很多時間研究。不過往後如有 XMLHttpRequest 編碼的問題,應該就可以用同一個 plug-in 去轉成對的碼了。如果您是 Dashboard widget 的開發者,有遇到這樣的問題且有需要的話,可以跟在下連絡,在下會寄這個 source code 給您。

2005/09/11

[Mac 相關] 台灣電子地圖 Dashboard Widget 0.1a1 發表

編按:0.1b2(build 687)版已經釋出
有一天我跟一些朋友要去一個在台大叫“人性空間”的店,但是雖然知道地址,但不知確切位置在哪,所以在下到 www.map.com.tw 去查位置,但是,很不幸的,該網站大多數功能不支援 Mac OS X 的 Safari。雖然後來在下用 PC 上的 IE 查到位置,但是實在是很不甘心。

該網站在 PC 的 IE 上可以用滑鼠拖曳地圖就可以移動檢視範圍,當然也可以放大縮小,但是在 Mac Safari 上只能查到很粗略的地圖,且根本連用他的方向移動按鈕都無法移動地圖,也不能放大縮小,所以完全無法提供有用的資訊。

後來想想,不如把它作成 widget 吧,在下想應該可以比在 PC 上方便。於是,我就花了一些週末的時間研究了這個網站的 HTML 與 JavaScript 是否可行。其實剛開始很懶,因為裡面有點複雜,後來果然抓到訣竅,終於可以動工了,所以這個週末把先前的東西都起來,再配上我不大熟悉的 JavaScript/CSS 來模擬使用者界面(有點像 Google Maps),總算完工了。

聽了那麼多廢話,以下便是下載的連結: 其實還有以下很多功能還沒加進去:
  • 顯示周邊大眾交通工具資訊
  • 顯示周邊生活資訊(如夜市、醫院、區公所等)
  • 方向鈕可移動地圖(雖然現在已經可以用拖曳方式移動地圖)
  • 如 Google Maps 般一次讀入多個區快的地圖,可讓使用者在移動地圖時更加順暢便利
其實上述的功能可能等在下有空的時候再加入,本週先有基本功能就好。