2009/1/30
2009/1/28
以javascript,透過點擊(onclick)隱藏或顯示某個區塊(span)
原本想讓使用者點某些標籤,使沒有標籤的文章隱藏。藉此達成用標籤尋文的功能,不過暫時是用不著了,因為要列出網誌內所有文章都沒那麼簡單,幌論還要去篩選。不過功夫學到了就做個筆記吧!
| 表一 隱藏、顯示某個span | |
|---|---|
| 01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. | <script language="JavaScript"> function toggleDisplay(spanid){ if (spanid.style.display=='inline'){ spanid.style.display='none'; } else{ spanid.style.display='inline'; } } </script> <div><span onclick="toggleDisplay(testspan)">點我</span>來看效果.<span id="testspan" style="color:red;position:relative;cursor:hand;">測試用文字</span>,測試測試。</div> |
2009/1/24
分析blogger JSON文本,取得文章標題與其使用的標籤
因為google的Developer's Guide: JavaScript與Using JSON with Google Data APIs提供了很多sample,所以我今天翻了javascript的文章,想自己做標籤分類尋文,但太天真的,json文本也是基於網站提供的atom來的,所以只有25篇文章,網站不提供所有的文章,用atom也看不到文章。所以最大的心得反而是javascript也很好用,搞不好我會放棄php改用javascript來教程式語言(真是越玩越回頭了,居然向script kid靠攏!:-P),因為這幾天死小孩寫的php無窮迴圈拖死伺服器真的累死我也!
| 表一 在blogger中以json取得文章標題與這些文章所用的標籤 | |
|---|---|
| 01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. | <div id="tagfinder"></div> <script> function listEvents(root) { var feed = root.feed; var entries = feed.entry || []; var html = ['<ul>']; var alltags = new Array(0); for (var i = 0; i < entries.length; ++i) { var entry = entries[i]; var title = entry.title.$t; if (title.length > 23){ title = title.slice(0,20); title = title.concat('<font size="1">...略</font>'); } for (var j = 0; j < entry.link.length; j++) { if (entry.link[j].rel == 'alternate') { var alturl = entry.link[j].href; var spanid = alturl.split('http://kkbike.blogspot.com/',2); break; } } tag = ""; for (var j = 0; j < entry.category.length; j++) { var tag = tag + ',' + entry.category[j].term; var intags = ''; for ( var k = 0; k-1 < alltags.length; k++){ if ( entry.category[j].term == alltags[k] ){ var intags = '1'; break; } } if ( intags != '1' ){ alltags[k-1] = entry.category[j].term; } } html.push("<a href=" , alturl , ">." , title, "</a></span><br>"); } html.push('</ul>'); html.push(alltags.join()); document.getElementById("tagfinder").innerHTML = html.join(""); } |
2009/1/22
php講義 work9 陽春留言板
這個留言板程式由四個檔案組成,這是一個分工寫程式的範例,不是成熟的實用品,請不要拿來用在嚴肅的地方,因為這支程式還有很多安全問題。
四個檔案分別為資料檔mesg.dat,主程式index.php,將資料進mesg.dat的程式檔write.php,以及將資料從mesg.dat輸出到螢幕的程式show。另外,系統設定中,必須設定讓mesg.dat給所有人讀寫的能力。
| 表一 mesg.dat | |
|---|---|
| 01. 02. 03. | 路人甲,1月22日9點32分,沒事多留言多留言沒事 王大德,1月22日9點32分,測試留言板 義工先生,1月22日9點33分,圖書館都是帥哥 |
| 表二 index.php | |
|---|---|
| 01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. | <form method=post action=./index.php> <input type=text name=user><br> <textarea cols=100 rows=10 name=mesg></textarea><br> <input type=submit> </form> <?php include 'write.php'; include 'show'; $date=time(); $time=getdate($date); $now="$time[mon]月$time[mday]日$time[hours]點$time[minutes]分"; $note = $_POST['user'].",".$now.",".$_POST['mesg']."\n"; writefile($note); showmesg(); |
| 表三 write.php | |
|---|---|
| 01. 02. 03. 04. 05. 06. | <? function writefile($mesg){ $fp=fopen('mesg.dat','a'); fwrite($fp,$mesg); } ?> |
| 表四 show | |
|---|---|
| 01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. | <? function showmesg(){ $lines = file('mesg.dat'); $count = count($lines); $i=0; while($i < $count){ $element = explode(",",$lines[ $i]); echo "以下是".$element[0]."在".$element[1]."的留言:<br>"; echo "<font size=20>".$element[2]."</font><br>"; echo "<hr>"; $i=$i+1; } } ?> |
php講義 work8 自訂函數
自訂函數,讓你的程式結構更清楚。
| 表一 php自訂函數 | |
|---|---|
| 01. 02. 03. 04. 05. 06. 07. 08. 09. 10. | <?php function showmesg($mesg){ $element = explode(",",$mesg); echo "以下是".$element[0]."在".$element[1]."的留言:<br>"; echo "<font size=20>".$element[2]."</font><br>"; echo "<hr>"; } $note = "王大德,2009.1.22,我今天吃很飽"; showmesg($note); ?> |
2009/1/21
php講義 work7寫程式是團體戰
將一個問題分給n個人合作完成,該怎樣分工跟整合呢?這恐怕只有資深程式設計師跟有經驗的領導者才能好好回答。技術上php提供了require跟include這兩個工具,將多個檔案整合在一起。以下範例為include的用法,從表一到表四,總共四個檔案,你可以拆給四個同學去做,每個人改自己的程式,免除掉改到別人東西的疑慮。範例中只是很單純的傳遞變數而已,其實還可以整合自訂函數。各位同學,多動手以戰養戰累積經驗,加油吧。
| 表一 透過include整合數個程式 | |
|---|---|
| 01. 02. 03. 04. 05. 06. 07. 08. 09. | <?php include 'no45.php'; include 'no47.php'; include 'no50'; echo $no45." is here to say hello<br>"; echo $no47." is here to say hi<br>"; echo $no50." would like to say hi to all<br>"; ?> |
| 表二 輔助程式(no45.php) | |
|---|---|
| 01. 02. 03. | <? $no45="programmer number 45"; ?> |
| 表三 輔助程式(no47.php) | |
|---|---|
| 01. 02. 03. | <? $no47="programmer number 47"; ?> |
| 表四 輔助程式(no50) | |
|---|---|
| 01. 02. 03. | <? $no50="programmer number 50"; ?> |
程式設計題目
電梯上昇一層耗5單位能源,下降一層耗4單位能源;上昇與下降一層均耗時3秒,開門載客耗時5秒;在10層的大樓中有兩座並排的電梯,命名為A與B,現在各停在7F與3F,有人在5F按「up」,請問:
編碼程式挑戰:0 1 2 3 4 第 5 局 擔 任 第 2 任 投 手 的 廖 于 誠 一 上 場 就 慘 挨 對 方 連 環 炮 擊 , 此 局 與 另 1 位 中 繼 投 手 林 柏 佑 合 計 狂 失 6 分 , 終 場 以 5 比 7 敗 北 。
假設密碼為14302,則編碼後的訊息為:「52廖場方,1手計,比 任手一挨炮與繼佑6以北 擔投誠慘環局中柏失場敗 第第的上對擊另投合分5。局任于就連此位林狂終7 」
2009/1/20
php講義 work6 陣列
在之前的範例裡面,大家應該都玩過”變數”了,每個變數都有一個名字,以便程式取用!請想像一下,如果你要處理的資料很龐大,那你是不是要為每個變數都命名呢?比如說全班42人的國文與數學成績,你是不是要把每個科目每個人的成績都命名,所以你就需要42*2個變數名稱!沒錯,事實如此,你必須這樣做,因為這84個值都不相同,你必須為每個變數命名,否則就不能在程式中取用資料。要取84個名字很痛苦,但這樣的變數是有規則的,所以我們可以用一個簡單的方法來大量的為變數命名,這個機制叫做”陣列”!陣列這個名詞跟函數一樣,都不容易直接知道它的意義,但是”陣列”比”函數”在名稱上容易理解一點,他就是排的整整齊齊,一次為一堆整齊有序的變數命名的機制。(我還是覺得這個名字翻譯的很爛,它也只是變數而已嘛!何必翻個讓人感覺像是大法術或戰爭的名字呢?但是我的大腦已經被毒害了,以後我還是會用”陣列變數”這個名詞來代表這個概念。)
陣列內的變數稱為陣列元素,每個元素除了值之外,一樣也可以有個名字,這種名字稱為key(鍵名),這要特別留意一下。
| 表一 陣列範例程式work6.php | |
|---|---|
| 01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. 15. 16. 17. 18. | <? //先命名一個內容很奇怪的變數,看起來像是班級、座號、學號、姓名與性別的資料,雖長得奇怪,但還有些規則,仔細觀察一下,它有用逗號","來區隔每個資料欄位。 $var = "117,45,511815,王大德,男"; //用explode,根據逗號把它炸開吧!然後被炸開的每一塊,都會依序變成陣列變數$element的一部份。 $element = explode( "," , $var); //把陣列變數$element的成員一個一個印到銀幕上,再用<br>切斷資料,每1列印1個 echo $element[0] . "<br>"; echo $element[1] . "<br>"; echo $element[2] . "<br>"; echo $element[3] . "<br>"; echo $element[4] . "<br>"; echo $element[5] . "<br>"; echo $element[6] . "<br>"; ?> |
表一用一個函數:explode()來為這個概念舉例,explode就是爆炸,它可以把一串字炸開,所以你必須告訴它要炸誰,以及根據什麼東西來炸開它!要不然電腦會不知道你要把它炸成幾塊。
陣列變數有多個元素時,分別依序用編號顯示,請觀察它是從0開始,還是從1開始編號?
有$element[6]嗎?
既然是依序的,就有規則可循,那是不是可以用for迴圈改寫每列輸出的方式呢?請試著改用for或while來簡化程式。
| 表二 叫出陣列值的方法 | |
|---|---|
| 01. 02. 03. 04. 05. 06. 07. 08. 09. | <?php //陣列變數$foo裡有五個值 $foo = array("bob" , "key1"=>"fred" , "key2"=>"jussi" , "jouni" , "una"); //叫出值的方法有兩種,第一種,直接指定值的"名字"(原文稱名字為key),沒名字的不能叫出來。 echo "(鍵)名為key1的元素,其值為:".$foo[key1].";(鍵)名為key2的元素,其值為:".$foo[key2]."<br>"; //叫出值的方法有兩種,第二種,沒名字的,電腦會依序給個編號。 echo "第一個無預設鍵名的元素,其序號為0,且值為:".$foo[0]; echo ";2nd,序號1,值為:".$foo[1]."3rd,序號2,值為:".$foo[2]; ?> |
| 表三 配合each函數逐一輸出陣列內元素 | |
|---|---|
| 01. 02. 03. 04. 05. 06. 07. 08. 09. 10. | <?php $foo = array("bob" , "fred" , "ele-key"=>"jussi" , "jouni" , "una"); //先用each函數,針對陣列$foo拉出一個值丟進$bar裡,$bar的第一個元素($bar[0])會顯示 //從$foo中拉出的元素的key,$bar的第二個元素($bar[1])會顯示從$foo中拉出的元素的值。 $bar = each($foo); while ( $bar ){ echo "鍵名為".$bar[0]."的元素,其值為".$bar[1]."<br>"; $bar = each($foo); } ?> |
php講義 work5 函數
函數的英文是 fucntion。在數學裡這個名詞挺耳熟;在這裡,請把它翻譯為”功能”,這樣比較貼切。不過,我的大腦已經被毒害了,所以口語上我還是會說函數函數來表示這個概念……
函數的長相是一個英文字加上一組小括號,像這樣:fucnction()。英文字就是函數的名稱,小括弧代表函數要處理的值。
範例程式如下,這是一個簡單計數器:
| 表一 簡單計數器程式 | |
|---|---|
| 01. 02. 03. 04. 05. 06. 07. 08. | <?php $fp = fopen("../book","r"); $counter = fgets($fp,1024); echo "book檔被讀取了".$counter."次"; $counter = $counter + 1; $fp = fopen("../book","w+"); fwrite($fp,"$counter"); ?> |
上面有用到了3個函數,fopen()、fgets()跟fwrite()。它們的”功能”分述如下:
- fopen():開啟檔案,你必須告訴電腦檔案路徑與名稱、開啟的屬性(唯讀、可寫入…等屬性)
- fgets():從記憶體中抓資料,你必須告訴電腦,要抓哪個資料,以及抓多少。
- fwrite():將資料寫進指定地點,你必須告訴電腦,要寫到哪裡,以及寫啥東西進去。
想了解更多現成的功能,你可以參考林義祥的php參考手冊。
作業目標:寫個介面,讓使用者可以透過網頁把你的姓名寫進book裡。
php講義 work4 重複敘述
改寫一下work3.php,讓輸出的訊息多重複幾次輸出!
| 表一 重複敘述程式(work4.php) | |
|---|---|
| 01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. | <form method=post action=work5.php> 身高<input type=text size=6 name=text1> 體重<input type=text size=6 name=text2> 年齡<input type=text size=6 name=text3> <input type=submit value="確定"> </form> <? if (($_POST['text1']>180 || $_POST['text2']>70) && $_POST['text3']>20){ while($i<10){ echo $i."ok啦 <br>"; $i=$i+1; } } else{ for ($i=0;$i<10;$i=$i+1){ echo $i."回家吧<br>"; } } ?> |
- 作業目標:求5+9+13….+113的和!
php講義 work3 流程判斷
| 表一 條件判斷程式(work3.php) | |
|---|---|
| 01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. 15. 16. | <h2>本程式將依據你的計概成績,給你一個中肯的評語</h2> <form method=post action=work3.php> 成績<input type=text width=6 name=score><br> <input type=submit value="產生評語"> </form> <? if ( $_POST['score'] >= 60 ){ echo "你得到".$_POST['score']."分,恭喜及格!"; } elseif ( $_POST['score'] >= 40 ){ echo "你得到".$_POST['score']."分,請補考!"; } else{ echo "你得到".$_POST['score']."分,不及格!"; } ?> |
- 有條理的管理你的程式碼-階層式排列
- 小括弧中的條件判斷,到底該怎樣敘述(有時候要相反的結果,就倒過來寫吧!),這叫”布林邏輯判斷”,詳細請參考手冊說明。
- 一開始不要把重點放在文字敘述的上,讓程式能正常跑之後再玩創意,以免程式碼一亂以後抓不到問題。
- 作業目標:寫個有測試條件的徵友程式
- 評分方式:
- 程式可正常判斷50%
- 在按下確定鈕後說明判斷的條件20%
- 每多一個條件加10%,最多30%,ex:總共三個條件則得30%,含基本的一個條件
php講義 work1.php work2.php
| 表一 第一支php程式(work1.php) | |
|---|---|
| 01. 02. 03. | <? echo "hello world"; ?> |
| 表二 從網頁拿個資料(work2.php) | |
|---|---|
| 01. 02. 03. 04. 05. 06. 07. | <form method=post action=work2.php> <input type=text size=6 name=text1> <input type=submit value="確定"> </form> <? echo "hello ".$_POST['text1']; ?> |
- 想像一下,變數是甚麼?
- 作業目標:把work2.php改寫成萬用賀卡,至少處理三個變數
- 下課前5分鍾檢查,鐘響收工,請多保重
可正常開啟work2.php的連結60%
有變數可正常運作,每個10%,最多30%
變數有特別標記10%(<b>與</b>括住的字會變粗體)
bonus創意10%
用vbs寫簡單的編碼與解碼程式
| 表一 編碼程式 | |
|---|---|
| 01. 02. 03. 04. 05. 06. 07. | original = Inputbox("請輸入明文") For i = 1 to Len(original) character = Mid(original, i ,1) encoded = encoded & Chr(Asc(character) + 2) Next MsgBox("加密後的密文是:" & encoded) none=Inputbox("你可以複製下面的祕文" , , encoded) |
| 表二 解碼程式 | |
|---|---|
| 01. 02. 03. 04. 05. 06. 07. | encoded = Inputbox("請輸入密文") For i = 1 to Len(encoded) character = Mid(encoded, i ,1) original = original & Chr(Asc(character) - 2) Next Msgbox("解密後的明文是:" & original) none=Inputbox("你可以複製下面的明文" , , original) |
| 表三 編碼結果寫進檔案程式 | |
|---|---|
| 01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. | original = Inputbox("請輸入明文") encoded = "" For i = 1 to Len(original) character = Mid(original, i ,1) encoded = encoded & Chr(Asc(character) + 2) Next Set fs = CreateObject("Scripting.FileSystemObject") Set a = fs.CreateTextFile("c:\testfile.txt", True) a.WriteLine(encoded) a.Close MsgBox("加密後的密文是:" & encoded) |
| 表四 讀取檔案並解碼 | |
|---|---|
| 01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. | Const ForReading = 1 Set obj1 = CreateObject("Scripting.FileSystemObject") Set obj2 = obj1.OpenTextFile("putty.exe", ForReading) all = obj2.ReadAll obj2.Close msgbox(all) encoded = "" For i = 1 to Len(all) character = Mid(all, i ,1) encoded = encoded & Chr(Asc(character) + 2) next MsgBox("加密後的密文是:" & encoded) Set fs = CreateObject("Scripting.FileSystemObject") Set a = fs.CreateTextFile("testfile-encode.txt", True) a.WriteLine(encoded) a.Close |
| 表五 判別性別做回應 | |
|---|---|
| 01. 02. 03. 04. 05. 06. 07. | name = Inputbox("請輸入姓名") gender = Inputbox("請輸入性別") if gender = "女" then msgbox("你好," & name&"小姐") else msgbox("你好," & name&"先生") end if |
20081016四天的O聖
此行是參加2008年10月16日到10月19日,由北縣山協辦理的雪山O聖登山隊;四天裡面,前三天鞋子都是全濕的。一方面是天氣差,另一方面是自己沒有如此淋雨的經驗,所以還不懂得怎樣讓自己不要淋到全濕。也因為下雨,所以照片拍得少,這很遺憾,因為經過素密達斷崖的時候,大雨在穆特勒布的岩溝上聚集,形成數十條壯觀的瀑布,能目睹此景觀,也要托淋雨的福,可惜當時心裡只掛記著要怎樣過素密達斷崖,根本就懶得把相機從背包裡拿出來,現在想起來真是後悔。這一天真的是當了被相機玩的人,而不是玩相機的人。後悔呀~
此行也是擔心著品斷跟素斷,所以輕量化到我的極點,很多玩具都沒有帶,gps更是省著開,只開我完全沒走過的路段,也因此這個O形根本沒有接起來,留點遺憾,等下次吧。
以下是gmaps結合我的航跡圖,跟行程簡表,真的是簡單到不行了,有夠粗糙的~太久才做記錄,丟三落四,也是有點小遺憾。
遺憾這麼多,看來非再去一次不可,好好再看一次雪北與凱蘭特崑間,這條美麗又危險的稜線。
檢視較大的地圖
gmaps結合O聖部分航跡圖
| O聖行程記錄表 | |
|---|---|
| 時間 | 說明 |
| 10月16日0744 | 圖標1,煙聲瀑布前150公尺之登山口 |
| 10月16日0920 | 圖標2,往三叉途中可紮營之休息點。 |
| 10月16日1300 | 圖標3,三叉營地 |
| 10月16日1654 | 圖標4,新達山屋 |
| 10月17日0716 | 圖標5,品田山。 |
| 10月18日0454 | 圖標6,這是18日早上出發前才定的位址,素密達山屋 |
| 10月18日0634 | 圖標7,穆峰南邊陡降大山溝。 |
| 10月18日0716 | 圖標8,穆南營地 |
| 10月18日0924 | 圖標9,雪山北峰。 |
| 10月18日0930 | 圖標10,登雪北叉路。 |
| 10月18日1020 | 圖標11,雪北山屋。 |
| 10月18日1313 | 圖標12,聖稜直下碎石陡坡進入黑森林,接往369叉路口 |
| 10月18日1800 | 圖標13,哭坡觀景台。 |
2009/1/19
20081227熊空越嶺紅河谷
原文發表於2008.12.29,ptt.cc「hiking漫遊台灣山林 - 登山健行板」
這條路線我肖想很久了,光是想像從三峽走到烏來就覺得很酷!這聽在慣用文明交通工具的人的眼裡,一定會很意外,光是開車走公路,也要開上四個多小時吧!但是直線距離僅僅12公里左右,用雙腳去認識他,也只要七個多小時。這是最讓我感到有趣的一部分!
行前的資料蒐集我還刻意避開紅河谷到烏來之間的訊息,想增加慢慢步出紅河谷,從另一個角度再認識烏來的感覺。果不其然,十幾年去過加九寮戲水記憶中,往日走過的路一步一步鮮明了起來,不過這只能留給自己自hi,同行的人恐怕難以體會吧!
原來三峽跟烏來,是這麼的近呀?
這條山徑裡,充滿柴火堆餘燼跟三、四處簡易帳,還有一個像樣的山屋,山屋旁還有人種菜。沿途過溪處眾多,在接近紅河谷路段,過溪處搭了許多簡易橋,但仍然要更小心通過,小弟我就踩斷橋面摔了個大跟斗,有興趣一遊的還請多小心。小弟我60公斤還能踩斷橋面,給大家參考!下圖是gps結合熊空往紅河谷航跡圖與實際行程表。
檢視較大的地圖
gmaps結合熊空往紅河谷航跡圖
實際行程:
| 明池登巴博庫魯行程記錄表 | |
|---|---|
| 時間 | 說明 |
| 0830 | 台北客運<三峽一站>,搭乘<三峽-熊空>出發。滿車的台電山友,全都是要去紅河谷的。 |
| 0920 | 台北客運<三峽-熊空>抵終點站熊空 |
| 0928 | 整裝完畢,從熊空站出發 |
| 0956 | 圖標1,抵登山口。 |
| 1025 | 過溪(此行程過溪處眾多,沒有一一記錄)。 |
| 1055 | 圖標2,營地,已搭有帆布簡易炊事帳。 |
| 1146 | 圖標3,抵此行程最高點加九嶺鞍部,北方岔路往加九嶺山(來回35分鐘)。 |
| 1231 | 圖標4,抵往涼亭格基點岔路,北方岔路往涼亭格基點(3分)、向天湖山(180分)、加九嶺山(60分)。 |
| 1234 | 涼亭格基點拍照 |
| 1455 | 遇到一個貼著岩壁延伸的簡單遮雨棚,岩壁上插有兩根朝天的菸屁股。 |
| 1458 | 圖標5抵山屋,山屋上有"遠傳"字樣,南方有往拔刀爾山的岔路。 |
| 1515 | 抵一稍有傾斜的木橋,我在這裡採斷橋面上的一根橫木,左腳瞬間懸空,往橋下墜去,直到屁股撞到橋面,被阿魯巴,好痛! |
| 1617 | 圖標6,這1個小時經過很多簡易橋跟設有神像與香爐的山壁,最後抵達紅河谷汙水處理廠。 |
| 1643 | 圖標7,抵成功公車站。 |
2009/1/18
在blogger裡貼php程式碼
| 表一 在blogger中提供php程式範例之轉碼程式 | |
|---|---|
| 01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. | <form method=post action=<?echo $_SERVER['PHP_SELF'];?>> <textarea cols=50 rows=5 name=input></textarea> <input type=submit> <? $input = $_POST['input']; $trans = array(" "=>" ", "<"=>"<", ">"=>">"); $input = strtr($input,$trans); $input = str_replace("&","&",$input); echo "<pre>".$input."</pre>"; ?> |
而blogger中,我是用一個div跟一個表格來呈現程式碼,其css如表二。文章編輯時,則直接寫個表格,裡頭只有一列來放兩個儲存格,左格只是列號,右格則是程式碼。
| 表二 在blogger中呈現php程式範例之css設定 | |
|---|---|
| 01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. | td.codecontent { color: blue; vertical-align: text-top; width: 550pt; } table.code { display: block; font-family: 'Courier New'; font-size: 11pt; overflow: auto; border: 1px solid #ccc; padding: 1px 10px 10px 21px; max-height: 1200px; line-height: 1.2em; letter-spacing: 0px; margin: 0px 0px 0px 0px; background: #FFFBC6; } |
2009/1/16
20090115明池登巴博庫魯(馬望來山)
檢視較大的地圖
gmaps結合明池往巴博庫魯航跡圖
參考資料:妍妍爸爸的部落格之960623巴博庫魯縱走復興尖山
行程計畫簡說:0300自台北出發、0700明池山莊起登、1200登頂巴博庫魯、1700返明池山莊、2230回到台北。
實際行程:
| 明池登巴博庫魯行程記錄表 | |
|---|---|
| 時間 | 說明 |
| 0400 | 新店出發 |
| 0648 | 圖標1,明池山莊停車場,A到B之間是山莊的水泥路與森林步道。 |
| 0710 | 圖標2,林道110與明池森林步道交叉口。B到E之間是緩上的碎石泥土寬林道,目前禁行車輛。圖標3有一個廢棄山屋,經過時間不確定 |
| 0818 | 圖標4,林道崩塌處,這裡要高遶。 |
| 0829 | 圖標5,巴博庫魯登山口,東南方岔路標示往松羅湖。圖標5到6間是45度近60度以上的陡坡,是此行最陡的一段,落差達60公分以上的踏點有接近十個。 |
| 0858 | 圖標6,這裡有藍天隊的標示牌,上面寫往巴博庫魯140分鐘,另一隊寫180分鐘。 |
| 0905 | 圖標7,這裡經過兩段異常平坦的營地,回來查gmap才知道有跟林道支線重疊。這段平坦地應該是廢棄的林道。 |
| 1054 | 圖標8,北邊岔路標示往棲蘭山(馬告山),並有警語說明路途遙遠不宜單日來回者前往。H處停留很久,所以航點有點飄,路徑變成Z字型。 |
| 1136 | 圖標9,北邊岔路標示往玫瑰西魔山(美奎西莫山) |
| 1138 | 圖標10,巴博庫魯三角點,西邊岔路標示往復興尖山。登頂後退回I煮午餐,混到1245才踏上返程。 |
| 1529 | 返回6 |
| 1539 | 返抵5,巴博庫魯登山口 |
| 1700 | 返抵2 |
| 1720 | 返抵1 |
稜線上有大片霧淞,但天氣不好,所以沒拍蝦密照片回來啦!隨後到宜蘭打混很久,回到台北都晚上十點半了!
2009/1/14
在google maps上連接航點(waypoint)畫成路徑(path)
目標:向google maps要求一張圖片,並且在圖上標示若干個點,也可以把這些點依序連成一條折線。
先備工具:會使用html、到gmaps去申請一個自己網站的key、會找經緯度。
額外工具:gps(可產生自動幫你把航點記下來的gpx檔)
Todo:語法如下
<img src=http://maps.google.com/staticmap?size=640x640&zoom=17&maptype=mobile&key=GMAPS_API_KEY&sensor=false&path=rgb:0x0000ff,weight:5|25.014918,121.467161|25.013537,121.464366|25.01624,121.463406|25.012837,121.462526&markers=25.012837,121.462526,midgreens|25.014918,121.467161,midrede>
以下參數說明都取自於Static Maps API Developer's Guide。
size:640x640像素以下
zoom:範圍0(全球)~19(小範圍)
maptype:roadmap(交通圖)、satellite(空照圖)、mobile(導航圖)、hybrid(複合圖)、terrain(地形圖)
key:在Sign Up for the Google Maps API拿到的key
sensor:接gps時設true,否則就設false
path:路徑,線的顏色用rgb:0x0000ff表示,粗細用weight:5表示(調整冒號後的數字),經過的點依序標上,並用pipe(|)隔開每組座標。最多100點。
markers:地標說明,一樣用經緯度標示座標,mid-green-s分別表示標示牌的尺寸、顏色與牌上的字。最多可以有50個標示牌。
0120補充:今天發現,整個url都大有問題,太長就會無法顯示圖片。不是100個waypoint加50個mark這麼好用,事實上,我試用了61個waypoint加13個航點就掛啦!看來還要再好好研究研究。
上例的圖片如下:
20060218北大武山行程記錄
0946抵省道台1縣417公里左右的岔路
岔路西邊有間天公廟,準備轉向東邊的萬巒。
0954見到右轉往佳佐的指標,在這裡右轉。
從0946到0954間,因為加油,所以多花了點時間。
0959見到左轉往西方道堂指標
盯著西方道堂的指標,跟著走就可以到達武潭村,要轉好幾個彎。
1005抵西方道堂,武潭村已經在眼前。
1125起登0K
經過漫長崎嶇的柏油路,水泥路與碎石路旅程,抵達登山口後整裝,於1125起登。
從武潭村到泰武部落都是柏油路,而且通往小農場的岔路頗多,最好帶著地圖隨行。
泰武村後仍有很長一段的柏油路,隨後要面對狹窄的水泥路與顛簸的碎石路,但以小轎車(city1.5)仍可勝任此段山路碎石坡,不會刮底盤,只是邊開要邊留意會車時的閃避空間。
登山口停車場可以停數十部小轎車,而往舊筏彎方向開去200公尺,更有現代化的廁所可以使用(廁所前也可以停汽車4部),山友實在不需要在路邊大小便,今天沿路仍遍佈使用過後的衛生紙,更有新鮮大便一包,真噁心!
1140過0.3K
1144抵0.5K
1207抵1.0K
1226抵1.5K
1311抵1.75K
1324抵2.0K
1345抵2.5K
見到了1775公尺的鞍部,從這裡以後就是一路陡上直到檜谷山莊了!我們在這裡打混了二十幾鐘,跟山友聊天,旁邊還有一顆紅豆杉,樹洞裡有一堆看了令人難過的垃圾。
1431抵3.0K
1513抵3.5K,陡上真辛苦
1619抵4.0K岔路口
這是檜谷山莊,登山口與三角點的岔路口,這期間其實經過了3.8K的露巖觀景台,但是有個山友跨坐在路牌上,我實在不好意思去拍(我是用相機的exif紀錄來記時間),所以時間沒紀錄到,感覺上在那裡混了快15分鐘吧!
1628抵4.2K檜谷山莊
0757抵4.0k岔路口
0820抵4.5k
一開工就是陡上陡上,辛苦哦!
0845抵稜線缺口,可以遠望大崩壁
0856抵5.0k
0927抵5.5K
0946抵6.0K
0955抵第一水源地
1000抵最後水源地
在這裡喘氣,拍金翼白眉混了很久,比一般休息時間長吧,我再啟動時都要重新暖身了!
1013這裡要過崩壁
這個地方,在回程時要認真找路,要從有巨大倒木的溪溝鑽下去。
1021抵6.5K
1043抵7.0K
1104出稜線
1115抵7.5K
1201抵8.0K大武祠,打混吃午餐!
從出稜線,到大武祠間,要番過兩個假山頭,切莫高興太早;過最後一個假山頭,先陡下再陡上才能到大武祠。與登頂折返的山友聊天,得知要往三角點,還有三個假山頭要煎熬,也是上上下下的走。而三角點的里程碑是9.0K,要花一個小時才能到。
1315怕摸黑,先放棄登頂,開始往回走。
1402抵7.0K
1437抵6.0K
1511抵神木
1526抵5.0K
1551抵4.5K
1609抵4.0K
相機沒電了!憑記憶寫紀錄,只有出發與抵達的時間最確定而已。
0745檜谷出發
1100抵登山口