2011年10月12日 星期三

透過google map由地址查詢經緯度

參考文件 http://code.google.com/intl/zh-TW/apis/maps/documentation/javascript/v2/services.html

測試 http://maps.google.com/maps/geo?q=%E5%8F%B0%E5%8C%97%E5%B8%82%E5%8D%97%E6%B8%AF%E5%8D%80%E4%B8%89%E9%87%8D%E8%B7%AF66%E8%99%9F&output=json&sensor=true

回傳

{ "name": "台北市南港區三重路66號", "Status": { "code": 200, "request": "geocode" }, "Placemark": [ { "id": "p1", "address": "115台灣台北市南港區三重路66號", "AddressDetails": { "Accuracy" : 8, "Country" : { "AdministrativeArea" : { "AdministrativeAreaName" : "台北市", "Locality" : { "DependentLocality" : { "DependentLocalityName" : "三重里", "PostalCode" : { "PostalCodeNumber" : "115" }, "Thoroughfare" : { "ThoroughfareName" : "三重路66號" } }, "LocalityName" : "南港區" } }, "CountryName" : "台灣", "CountryNameCode" : "TW" } }, "ExtendedData": { "LatLonBox": { "north": 25.0587660, "south": 25.0560680, "east": 121.6156030, "west": 121.6129050 } }, "Point": { "coordinates": [ 121.6142540, 25.0574170, 0 ] } } ] }

2011年9月9日 星期五

Facebook app 調整canvas的寬高

Facebook app 調整canvas的寬高

<div id="fb-root">
</div>
<script src="//connect.facebook.net/zh_TW/all.js">
</script>
<script>
FB.init({
  appId  : 'facebook_app_id',
  status : true, // check login status
  cookie : true, // enable cookies to allow the server to access the session
  xfbml  : true, // parse XFBML
  oauth : true // enables OAuth 2.0
});

FB.Canvas.setSize({ width: 760, height: 1000 });
</script>

2011年9月4日 星期日

Facebook API 使用FQL 抓取朋友名字,圖片,生日

以下為使用FQL抓取朋友名字,圖片,生日的範例教學
注意:需先取得相關權限才能抓取資料
權限參考:http://developers.facebook.com/docs/reference/api/permissions/

include('facebook.php');
$facebook = new Facebook(array(
'appId' => $facebook_app_id,
'secret' => $facebook_app_secret,
'cookie' => true
));

$fb_id = $facebook->getUser();
try{
$aFriendList = $facebook->api(array(
'method' => 'fql.query',
'query' => 'select uid, name, pic,birthday_date from user where uid in (select uid2 from friend where uid1 = '.$fb_id.')'
));
}catch (Exception $e) { }

var_dump($aFriendList);
?>

2011年8月25日 星期四

手機網頁,重返瀏覽器時自動重新整理

在手機上離開瀏覽器後再回到瀏覽器通常會看到上一次離開的畫面
如果網頁屬於最新消息之類的訊息,讓使用者回到瀏覽器時自動reload會非常的方便
以下是使用javascript來判斷是否要reload頁面

var timenow = new Date().getTime();
timenow = Math.ceil(timenow/1000);
function autoReload(){
var checktime = new Date().getTime();
checktime = Math.ceil(checktime/1000);
if( (checktime - timenow) > 60 ){ //如果這邊超過60秒,應該是離開瀏覽器又回來,所以reload
location.reload();
}
timenow = checktime;
}
setInterval('autoReload();',5*1000); //5秒偵測一次

2011年8月18日 星期四

Firefox 6 網址列無法使用 javascript: function();

一般寫前端頁面如有使用 javascript 會在網址列直接下 javascript: function(); 來做debug的動作

更新到 firefox 6 發現網址列不吃 javascript: 了

原來有更好用的東西
tools -> web developer -> scratchpad

在裡面寫下要做的javascript語法,選取後按右鍵
Run 就可以看到執行結果

2011年8月15日 星期一

google weather api

最近某個東西需要用到氣象資料
氣象局有個 FTP 可以抓取資料,但資料不太齊全
FTP位置 ftp://ftpsv.cwb.gov.tw/pub/forecast/

然後找了 http://developer.yahoo.com/weather/
實在是不好用...

網路上翻了翻
看到 http://www.google.com/ig/api?hl=zh-tw&weather=taipei
傳入城市名就可以取得一個xml,真是方便
更方便的是傳入經緯度
http://www.google.com/ig/api?hl=zh-tw&weather=,,,25012085,121465701
真是佛心來得

2011年8月1日 星期一

facebook 啟用測試帳號

使用Facebook API來打造網站功能時如果又有綁一個帳號只能投票一次的功能
開發時通常測試會很困擾 (要一直不斷清資料庫)
Facebook 放出了測試帳號功能 https://developers.facebook.com/docs/test_users/
一個 app 可以有500組測試帳號

建立一個測試帳號

if( $_POST ){
    $url = 'https://graph.facebook.com/'.urlencode($facebook_app_id).'/accounts/test-users?';
    $url .= 'installed=false';
    $url .= '&name='.urlencode($_POST['name']);
    $url .= '&method=post';
    $url .= '&access_token='.urlencode($facebook_app_id).'|'.urlencode($facebook_app_secret);
    header('Location: '.$url); exit;
}

<html>
<head>
<meta charset="utf-8">
</head>
<body>
<form method="post" action="test.php">
測試帳號匿名:<input type="text" name="name"><br>
<input type="submit" value="送出">
</form>
</body>
</html>

Developer App 裡面有介面可以新增
About->Roles->Testers->Add 然後填資料就可以新增測試帳號
官方文件 http://developers.facebook.com/blog/post/527/