Friday, July 6, 2007

Flickr Gmap Show, Mapplet version

當我第一次看到 Mapplet 時就覺得這是展現 Flickr Gmap Show 最好的方式,使用起來就像是 iGoogle 新增插件一樣容易(事實上的確是相同的,只是一個是用在 iGoogle,一個是用在 GMap),而且介面上也以地圖為主,適合以地圖為主來瀏覽照片的方式。不過一來這個功能 Google 還在開發中,從一般的 GMap 網頁進去是看不到的,而有另外的入口,二來因為 mapplet 的目標是要做到可以讓多種不同地圖型的插件 "同時" 啟用在同一張地圖上,這個目標真是漂亮,想像一下 Google Map 上除了 Google 提供的功能外還可以有氣象,有地區美食,有照片 (就是我要做的),還有像是停車場資訊 (台北的哦) 什麼的,真是漂亮的一步。Y!Map, UrMap 還有什麼機會呢?

不過啊,目標很漂亮,做起來卻很複雜,要讓多種插件同時運作而不能讓插件彼此之間互相干擾,而且因為是在 Google 的本站執行,所以還要絕對避免 XSS 之類安全性的問題。可以研究一下 Mapplet 的說明文件,首先讓插件的 script 在 iframe 中執行,然後提出一個和普通版本很不一樣的 Google Map api,用了大量的非同步方式執行,也不允許在地圖上增加圖層,除了這些,也是因為安全性的問題,他不允許在 InfoWindow 中使用 javascript,也只只能使用有限的 html 功能。最後這一點讓 Flickr GMap Show 以前的運作方式 (在 InfoWindow 中瀏覽同一地區的照片) 完全行不通了,所以要改一個形式來呈現了。技術細節就不提了,雖然 api 變成這樣難用很多,一開始我也不懂為什麼要弄得這麼複雜,但後來仔細想過就覺得 Google 做得很不錯,如果其他的人想要做類似的事想必也是搞出類似的東西。這個功能如果正式推出應該會受到好評的 (不過我對趨勢的看法一向不太準啊@@)。

點選這個 Add to Google 就可以安裝了。 也可以新增其他的 mapplet 同時啟用,在這裡有很多目前已開發出的 mapplet,像是類似功能的 Flickr Photo Mapplet 也可以試試看。

FGS Mapplet

基本上在右邊地圖上不能搞的事就只好移到左邊的 iframe 中執行,原本是在 InfoWindow 中去瀏覽同一地區的照片,因為要用到 javascript 所以就移到左邊,而在 InfoWindow 中就隨機抓一張出來顯示。而因為多了很多非同步函式的呼叫,所以感覺會比較卡卡的,也因為查詢和運算時不能把地圖遮起來 (不能新增圖層),所以只把左邊的遮起來意思一下。而目前也可以在左邊欄上的"編輯設定"中設定年月和搜尋的標籤。
fgs mapplet
感想就是,要讓 Javascript 可以同時跑在 Firefox 和 IE 真是要花不少工夫和不少經驗啊,難怪 Javascript 這麼少人精通的,我看不是因為錯以為它太簡單,而是根本就太困難了啊…:)。不知道怎麼才能讓 mapplet 出現在 Google 的工具集裡呢,是不是只要提給 Google 就可以了?@@

2 comments:

lanma said...

加油~ 做的讚啊!

hiroshiken said...

我有用,很棒 :D

不過GM版的還是沒辦法擺放照片,可以拖拉,但拉到地圖上放開,就什麼都沒有 XD

Post a Comment