2012年4月30日 星期一

Google Maps API V3 使用示範 - 以台北101為例

Google發佈Google Maps API V3, 在此做點簡單的介紹及實作範例.

第三版API的主要功能:

1、支持Chrome、iPhone Safari和Android手機上使用。
2、不在需要API keys,這樣用戶可以將代碼集成進入RSS閱讀器,並且不會出現錯誤。
3、基於MVC(Model-View-Controller)的框架,這將減少JavaScript的下載量,並且簡單易用。
4、自動開啟默認的UI界面,提供默認的UI控件和方法,這可以讓用戶開發的界面自動更新為最新的格式,當然用戶也可以禁用這個功能。
5、命名空間。所有的一切都在google.maps.*的命名空間,沒有以“G”為前綴的全局變量。
6、Geocoding API已經根據用戶的反饋進行了重寫。

第三版API的範例:
在此以台北101為範例,以下為Javascript部份, 為了能更快速的查詢地址的坐標, 可使用以下網站進行查詢 MyGeoPosition.com

    
    

    


以下為HTML的部份
    


當使用者點擊button之後,會立即顯示目前坐標上的地點.







2012年4月28日 星期六

使用Facebook PHP SDK發佈訊息至facebook留言版

Facebook允許開發者使用facebook php sdk發佈訊息至留言版,以下提供簡單的示範。

參數說明:

◎YOUR_FACEBOOK_SDK_PATH : 放置facebook api的伺服器位置
◎YOUR_APP_ID : facebook應用程式的App ID
◎YOUR_APP_SECRET : facebook應用程式的App Secret
◎YOUR_MESSAGE : 發佈訊息
◎YOUR_PICTURE_URL : 發佈圖片
◎YOUR_LINK with : 發佈網址連結
◎YOUR_LINK_NAME : 發佈連結文字顯示
◎YOUR_CAPTION : 發佈訊息備註


require_once "YOUR_FACEBOOK_SDK_PATH/src/facebook.php";
 
$app_id = "YOUR_APP_ID";
$app_secret = "YOUR_APP_SECRET";
 
//初始化facebook api
$facebook = new Facebook(array(
        'appId' => $app_id,
        'secret' => $app_secret,
        'cookie' => true
));
 
//取得登入facebook網址,並取得發佈權限
$login_url = $facebook->getLoginUrl(
    array('scope' => 'publish_stream')
);
 
//未授權則導向至登入網址
if (! $facebook->getUser()) {
    echo ';';
    exit;
}
 
//發佈訊息
$facebook->api("/me/feed", "post", array(
    message => "YOUR_MESSAGE",
    picture => "YOUR_PICTURE_URL",
    link => "YOUR_LINK",
    name => "YOUR_LINK_NAME",
    caption => "YOUR_CAPTION"
));


2012年4月26日 星期四

[PHP] Require & Include 的區別


摘自:
http://msdn.microsoft.com/zh-tw/library/cc295228.aspx

Include   網頁每次參考到檔案時,即包含該檔案。
Include_once   網頁第一次參考到檔案時,包含該檔案。
Require   必須在傳回網頁前先處理檔案,而且網頁每次參考到檔案時,即包含該檔案。
Require_once   必須在傳回網頁前先處理檔案,而且網頁第一次參考到檔案時,即包含該檔案。


‧require
   這個語法通常使用在程式檔案的一開頭,載入程式時,會先讀取require引入的檔案,使其變成程式的一部分。
   語法為:
   require("function.php");
   或
   require("header.inc");

‧include
   這個函式的功能跟require一樣,只不過通常使用在程式中的流程敘述中,例如if…else…、while、for等敘述中。
   語法為:
   include("function.php");
   或
   include("header.inc");

‧require_once和include_once
   使用方法跟require、include一樣,差別在於在引入檔案前,會先檢查檔案是否已經在其他地方被引入過了,
   若有,就不會再重複引入。

‧require和include的不同
   require適合用來引入靜態的內容,例如版權宣告,而include則適合用來引入動態的程式碼。
   include在執行時,如果include進來的檔案發生錯誤的話,會顯示警告,不會立刻停止;
   而require 則是會顯示錯誤,立刻終止程式,不再往下執行。
   include可以用在迴圈;require不行。

2012年4月24日 星期二

[C#] streamwriter亂碼問題


今天在將操作記錄寫入文字檔時,遇到寫入文字後的中文變成亂碼,目前找到的解決方案,Encoding.Default 可有效解決這個問題


public static void WriteTxtLog(string strLog, string Path, string FileName)
{
    StreamWriter txtwrite = default(StreamWriter);
    DirectoryInfo createdir = default(DirectoryInfo);
    FileInfo logfile = new FileInfo(Path + "\\" + FileName);
    //建log檔
    createdir = new DirectoryInfo(logfile.DirectoryName);
    if (createdir.Exists == false)
    {
        createdir.Create();
    }
    //使用與系統一致的編碼方式
    txtwrite = new StreamWriter(logfile.FullName, true, Encoding.Default);
    txtwrite.WriteLine(strLog);
    txtwrite.Close();
}


Related Posts Plugin for WordPress, Blogger...