Web API

Google Map API

Google Map功能強大,圖形介面有地形與衛星或者兩者同時顯示,地圖上面顯示的資訊五花八門樣樣皆有,舉凡天氣,國旗,人口等等,其他包含顯示某一地區的照片,其功能跟"地圖日誌"的感覺有點像,同樣的當然具有類似"urmap"的功能,輸入起始點,終點後,按下確定立即顯示出多條最佳路徑提供使用者選擇,其中的立體街景影像介面(streetview),與一般的地圖或衛星地圖相比,我覺得算是滿新穎的顯示地圖方法,它以第一人稱視角顯示,對於路上或路旁或路寬或路面各種影像完整呈現,對於一個身處異鄉且正驚慌失措的外國人來說,算是最佳的解救途徑。

google health

Google Health是一個個人健康資訊入口網站,可以讓使用者保留自己的醫療紀錄或資料並且透過出現的症狀來查詢疾病和以及用藥...等等的相關資訊。

使用方法:通常我們不會有過去就診的紀錄,所以資料來源是來自你的就醫診所,藥局或是一些相關的醫療體系,當你得到這些資料,你就可以再上面做任何的註解(但不包含修改),同時,Google Health也設有一個程式設計介面還有一些API供使用者以利用,以增加自己所須的功能.

優點:

1.可以保留你歷年的就醫紀錄,留下一些相關資料,像是服過任何的藥物都可以一一紀錄下來,或是接受各種的醫療儀器檢測後的紀錄都可以保存,可說是一個相當完善的醫療紀錄系統
2.當你所搜尋的藥和你曾經在紀錄中所使用過的藥物共同使用會發生危險副作用時,也會有提醒的功能
3.這是最重要的一點,如果這項功能可以開發完善或是普及化,則可以在轉診或是做一些檢查時,省下一些花費和社會資源,最重要是省下的病患的時間,畢竟,病人的時間是最保貴的,醫療機構應該要盡可能在第一時間給最正確的判斷

缺點:
1.雖然Google有和一些知名的醫院或診所合作,但是尚未普及,所以,一些小的診所或是你家鄰近的家庭醫師並沒有加入這項合作,這也造成你的資料無法完全紀錄下來
2.隱私方面的問題

Google Map API

Google Map API

由google推出的一種web API

與ur map相似

但是它包含了全球的地圖資訊

另外還可配合google earth

得到更多資訊

其中google map API可以提供開發者許多方法來製作自己的map

包括劃線.框範圍.立標的.加註解.放大縮小控制器.搜尋器

只要在google map api的網頁中申請一個自己的key

就可以在自己的網頁中使用API

雖然還不能夠靈活運用客種方法來精美自己的map

但能夠了解基本的架構方法

使用起來其實不會很難

如Gmarker就是立標的

GInfoWindowsTab就是加點開式的說明欄位等等

 

google earth

google earth的一些常用功能簡介
視圖區域功能:
按住左鍵拖曳則可移動地圖,
滾輪向上為放大地圖,向下則反之,
按兩下左鍵,可以放大點擊的區域,按右鍵則是縮小,
在縮放過程中按一下,則停止縮放
亦可透過地圖上的縮放圖示來完成這些動作
Search面板功能:
"飛越到"標籤可完成透過座標位置來做快速查詢
下面是一個常用的商務查詢項的使用例子
在What清單方塊上打University,
在Where清單方塊上打San Francisco,
則可顯示出San Francisco的位置

還有一些功能尚未摸透,所以,希望有興趣的人可以去試試看  

資料來源:工具書資料+自己的心得   

Windows Live Messenger API 使用介紹

這是由微軟發佈的API

首先要有一個MSN帳號然後到連到下列網址做妳個人MSN的設定

http://settings.messenger.live.com/applications/websettings.aspx

之後點選該網頁左方有個"建立HTML" 接下來就可以將"對話視窗"、"狀態"以及"按鈕"

同時該頁面還可以調整其大小及顏色再利用發佈的API遷入至你的個人網頁上

EX:狀態

EX:按鈕

EX:對話視窗

在預覽中三個都看的到

但在實際送出後就只能看見狀態圖...?

Jaiku

Jaiku原本是一家在芬蘭的公司,因為其類似微型部落格的功能以及在Web與行動手機運用上的便利性,被Google看上,並於2007年10月9日被Google收購。

我想,Jaiku的賣點在於他能讓行動用戶隨時隨地都能上網發訊息報告自己的動態,以及觀察朋友們的動向,當初芬蘭會有這服務也是因為手機在他們國家的普及性(Nokia大廠耶!),可以用手機發簡訊買投幣式飲料、開公共廁所的門、付停車費、買電車票等等好玩又有趣的應用,甚至可以發簡訊和電視上的Live節目做互動式聊天呢,我想芬蘭人一定不斷地在想手機服務還可以做什麼加值應用,因此促成了Jaiku這個"移動微型部落格"的產生吧。

類似這種微型部落格還有BUBOO和Twitter等,也都有不少人使用。各國的公司也逐漸看上這種延伸至手機上的SMS簡訊服務或其他應用,像最近工研院辦的無線粉絲大帝國也是為了提倡行動加值服務,從學生團體中找尋創意,創造更多行動服務的可能。

接下來介紹一下Jaiku提供的一些API
Jaiku提供了兩種介面來閱讀和發表Jaiku的訊息,分別是XML-RPC和JSON,而我們要使用時,需要一組驗證碼,每個使用者都有一組Jaiku的API key,是用來辨別你的身分,登入Jaiku後在http://api.jaiku.com 就可看到。

*在POST request中加上這段,用來驗證使用者。

?user=$user&personal_key=$personal_key


*若是使用JSON,在傳送POST request時須先呼叫
api.jaiku.com/json
並且加入驗證參數(將user和personal_key設定為自己的)
POST /json
user=jaiku&personal_key=12345678901234&method=test&echo=Hello

這時會收到一response
{"status": "ok", "echo": "Hello"}


*而要自行增加RSS訂閱時,加上
http://jaiku.com/feed/rss
http://devku.jaiku.com/feed/rss

和訂閱user及API Key
http://devku.jaiku.com/feed/rss?user=[Your nick]&personal_key=[Your key]
http://devku.jaiku.com/contacts/feed/rss?user=[Your nick]&personal_key=[Your key]

 

*接下來的小範例為ie955147同學共同編輯部分,此範例可以擷取你所要的JSON格式的channel資料

var url = "http://jaiku.com/channel/PeopleMountainPeopleSea/feed/json";

擷取到的資料如:


{
"title" : "Jaiku | Latest from #PeopleMountainPeopleSea",
"url": "http:\/\/jaiku.com\/channel\/PeopleMountainPeopleSea",
"stream": [
{
"id": "49110784",
"title": "\u53f0\u7063\u771f\u597d\u73a9",
"content": "",
"icon": "http:\/\/jaiku.com\/images\/icons\/web-camera.gif",
"url": "http:\/\/jaiku.com\/channel\/PeopleMountainPeopleSea\/presence\/49110784",
"created_at": "2008-11-17T17:37:44 GMT",
"created_at_relative": "4 weeks, 1 day ago",
"comments": "0",
"user":
{
"avatar": "http:\/\/jaiku.com\/image\/avatar_default_t.jpg",
"first_name": "Null",
"last_name": "Web",
"nick": "nullweb",
"url": "http:\/\/nullweb.jaiku.com"
}
},
{
"id": "49092882",
"title": "\u5927\u5bb6\u4f86\u53bb\u904a\u53f0\u7063",
"content": "",
"icon": "",
"url": "http:\/\/jaiku.com\/channel\/PeopleMountainPeopleSea\/presence\/49092882",
"created_at": "2008-11-17T11:28:27 GMT",
"created_at_relative": "1 month ago",
"comments": "0",
"user":
{
"avatar": "http:\/\/jaiku.com\/image\/avatar_default_t.jpg",
"first_name": "Ronnie",
"last_name": "Lee",
"nick": "RonnieLee",
"url": "http:\/\/RonnieLee.jaiku.com"
}
},
{
"id": "49092551",
"title": "\u5e79 ,\u4f60\u7238\u570b\u5bf6\u5167",
"content": "",
"icon": "",
"url": "http:\/\/jaiku.com\/channel\/PeopleMountainPeopleSea\/presence\/49092551",
"created_at": "2008-11-17T11:23:22 GMT",
"created_at_relative": "1 month ago",
"comments": "0",
"user":
{
"avatar": "http:\/\/jaiku.com\/image\/avatar_default_t.jpg",
"first_name": "Ronnie",
"last_name": "Lee",
"nick": "RonnieLee",
"url": "http:\/\/RonnieLee.jaiku.com"
}
},
{
"id": "49092547",
"title": "\u5e79,\u4f60\u7238\u570b\u5bf6\u5167",
"content": "",
"icon": "",
"url": "http:\/\/jaiku.com\/channel\/PeopleMountainPeopleSea\/presence\/49092547",
"created_at": "2008-11-17T11:23:02 GMT",
"created_at_relative": "1 month ago",
"comments": "0",
"user":
{
"avatar": "http:\/\/jaiku.com\/image\/avatar_default_t.jpg",
"first_name": "Ronnie",
"last_name": "Lee",
"nick": "RonnieLee",
"url": "http:\/\/RonnieLee.jaiku.com"
}
},
{
"id": "49092546",
"title": "\u8302\u4f2f,\u52a0\u6cb9\u963f",
"content": "",
"icon": "",
"url": "http:\/\/jaiku.com\/channel\/PeopleMountainPeopleSea\/presence\/49092546",
"created_at": "2008-11-17T11:22:46 GMT",
"created_at_relative": "1 month ago",
"comments": "0",
"user":
{
"avatar": "http:\/\/jaiku.com\/image\/avatar_default_t.jpg",
"first_name": "Ronnie",
"last_name": "Lee",
"nick": "RonnieLee",
"url": "http:\/\/RonnieLee.jaiku.com"
}
}
}

由這些抓出來的資料就可以找出一個規律性

id-文章的代碼

nick-發表人的暱稱

title-發表的內容

created_at -發表的時間

再以javascript以迴圈的方式讀出來

a function load(){
var head = document.getElementsByTagName("head")[0];
script = document.createElement("script");
script.type = "text/javascript";
script.src = url + "?callback=show";
head.appendChild(script);
}
function show(json) {
var c = document.getElementById("jaikus");
var uls = c.getElementsByTagName("ul");
if (!uls.length)
var ul = document.createElement("ul");
else
var ul = uls[0];
for (var i=json.stream.length-1; i >= 0; i--) {
var entry = json.stream[i];
var id = "jaiku-" + entry.id;
if (!document.getElementById(id)) {
var li = document.createElement("p");
li.id = id;
// User
var user = document.createElement("h3");
user.appendChild(document.createTextNode(entry.user.nick));
// Entry link & title
var post = document.createElement("a");
post.setAttribute('href', entry.url);
post.appendChild(document.createTextNode(entry.title));
//time
var time = document.createElement("p");
time.appendChild(document.createTextNode(entry.created_at));
li.appendChild(user);
li.appendChild(document.createElement("p"));
li.appendChild(post);
li.appendChild(time);
li.appendChild(document.createTextNode("------------------------------------------------"));
ul.insertBefore(li, ul.firstChild);
}
}
c.appendChild(ul);
}
window.onload = load;
setInterval( load, 1000 * 30);

var c = document.getElementById("jaikus");

" "裡面的參數要設為將呈現內容的div名稱

 

參考資料:

1.Jaiku Developer Documentation

http://devku.appspot.com/docs/api_doc

2.維基百科

http://zh.wikipedia.org/w/index.php?title=Jaiku&variant=zh-tw

Google Map & UrMap

其實這兩個比起來,當然是Google Map略勝一籌,雖然它們所用的

API功能是差不多的,但是Google Map所提供的資訊是更多元的。

以下是一些兩者的比較:

 

1.地圖大小:Google Map是全球,並提供特定城市的街景圖,而

UrMap只有台灣

2.速度 : 這個其實是差不多的,就我使用上的經驗來說.

3.解析度 : 像Google這種大公司花錢不手軟,當然在影像方面是贏過

UrMap的 。

4.本地資訊:UrMap的在地生活資訊較齊全,畢竟是台灣做的台灣地圖

。但在其他地方可能就沒辦法和Google Map相比。

5.介面:UrMap首頁旁有許多在地資訊的連結或查詢,但是這使它變得

過於雜亂,讓新手不知如何下手,相較之下Google Map只有

簡單的搜尋工具以及旁邊有一排可以選擇的小工具,板面清爽多

了,好像UrMap想把他最有競爭的功能,都放到同一個頁面,卻

適得其反。

6.API發展:作專題時候有用到UrMap API,除了經緯度的順序不一樣

, 其他都是大同小異,可是個人較偏好GoogleMap,因為

它還可以結合其他Google小工具來使用,資訊也較多元,

如果UrMap沒有一些更創新的東西,我看到最後大家都只會

用Google Map了。

Youtube API 使用JSON編輯

之前有介紹過JSON是什麼東西了

我這次專題作的Youtube API就是使用JSON來編輯

<script
    type="text/javascript"
    src="http://gdata.youtube.com/feeds/api/videos?q=關鍵字&alt=json-in-script&callback=showMyVideos2&max-results=搜尋數&format=5">
</script>

以上是一個簡單的JSON範例,在Script中打入後,他就會跑出符合關鍵字的30筆資料,上面再加上callback fuction即可

<script     type="text/javascript"     src="http://gdata.youtube.com/feeds/api/standardfeeds/most_viewed?time=this_week&alt=json-in-script&callback=showMyVideos2&max-results=30&format=5"></script> 
向上面這個就是本周被觀看最多次的影片,也是跑出30筆

Youtube API 介紹

Youtube 於 3 月 11 日公佈了一系列的 API,利用這些資料,第三網站就可以擁有全新概念的 YouTube 網絡視頻支援,除了夠在自己網站嵌入 Youtube 視頻外,還可以在網站實現多 Youtbe 的功能.


以下是一些新增的功能:

上傳視頻及回應 Youtube 的視頻, 添加/編輯用戶及視頻元數據(標題、描述、評分、評論、收藏、聯系人等), 獲取YouTube 18 個國際分站的本地化標准feed(最多人觀看、最高評價等),執行為YouTube 18 個國際分站優化的定制查詢,定制播放器用戶界面及通過軟件控制視頻播放.

其中一項十分實用的功能就是可以通過 Javascript 或 Actionscript 代碼實現 YouTube 播放器的嵌入及控制.

Google Maps API

使用Google Maps API前
首先要去申請一個Key
http://www.google.com/apis/maps申請,頁面如下
點選Sign up for a Google Maps API key
再一一填寫個人資料即可取得
下面這是網路上的一個範例
http://www.wowbox.com.tw/blog/attachments/month_0806/8200862521581.htm
下面這邊要填上你自己申請的key
<script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAAsYV7UusYC8W-CUCDLpFQYRREFBcOGxpqCCUdK6ZnJW0Tb_Kj_BRWDfzZYc6lwJiQloNiuOKFThoUBQ" type="text/javascript"></script>
這邊定義地圖大小(此範例為一個寬和高皆為500像素的地圖)
<div id="mymap" style="width: 500px; height: 500px"></div>
設定你地圖的中心點座標以及縮放大小
map.setCenter(point, zoomlevel, opts)
以下為此範例的設定
map.setCenter(new GLatLng(22.996733, 120.212465), 14);
本設定為中心點是22.996733, 120.212465,縮放大小為14
其他還有一些基本設定
在這裡我推薦一本不錯的書
在學校的圖書館也可以借得到
書名是Google API開發詳解Google Maps與Google Earth雙劍合壁
有興趣的同學可以去借借看
相信他很好上手

資料來源:網路範例+自己經驗+"Google API開發詳解Google Maps與Google Earth雙劍合壁"工具書

訂閱文章