<?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/"
		xmlns:xhtml="http://www.w3.org/1999/xhtml"
>

<channel>
	<title>クレコ</title>
	<atom:link href="http://creco.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://creco.net</link>
	<description>East or west, home is best.</description>
	<lastBuildDate>Fri, 27 Nov 2009 13:26:56 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://creco.net/feed/" />
		<item>
		<title>東京ゲームショウ2009行ってきた</title>
		<link>http://creco.net/2009/09/30/tokyo-game-show-2009/</link>
		<comments>http://creco.net/2009/09/30/tokyo-game-show-2009/#comments</comments>
		<pubDate>Tue, 29 Sep 2009 23:01:00 +0000</pubDate>
		<dc:creator>inagaki</dc:creator>
				<category><![CDATA[イベント・セミナー]]></category>
		<category><![CDATA[TGS]]></category>
		<category><![CDATA[イベント]]></category>
		<category><![CDATA[ゲーム]]></category>

		<guid isPermaLink="false">http://creco.net/2009/09/30/tokyo-game-show-2009/</guid>
		<description><![CDATA[ 
東京ゲームショウ2009に行ってきたので、レポート。
 
コンシュマーゲームで遊ぶことをしなくなってからというもの、ゲームショウに行くきっかけも見つからなく、学生のころには毎回通ってたゲームショウにもピタリと行かなく [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://creco.net/wp-content/uploads/IMGP2258.jpg" rel="lightbox[749]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="IMGP2258" border="0" alt="IMGP2258" src="http://creco.net/wp-content/uploads/IMGP2258_thumb.jpg" width="404" height="229" /></a> </p>
<p>東京ゲームショウ2009に行ってきたので、レポート。</p>
<p> <span id="more-749"></span>
<p>コンシュマーゲームで遊ぶことをしなくなってからというもの、ゲームショウに行くきっかけも見つからなく、学生のころには毎回通ってたゲームショウにもピタリと行かなくなった。</p>
<p>前回TGSに行ったのは、デジカメの記録を見る限り2001年の秋だ。そう、このころは春とか秋とかあって、ずいぶん華々しい展覧会だった記憶がある。</p>
<p><a href="http://creco.net/wp-content/uploads/20011014164600.jpg" rel="lightbox[749]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="20011014-164600" border="0" alt="20011014-164600" src="http://creco.net/wp-content/uploads/20011014164600_thumb.jpg" width="404" height="230" /></a> </p>
<p>当時、日本までプロモーションに来てたビル・ゲイツ。このあたりの年がゲーム業界のピークだったんじゃないかな？</p>
<p>と、思い出話は長くなるので本編。久しぶりにゲームショウへ来たのは3つの理由</p>
<ul>
<li>iPhoneアプリの展示が増えてるらしいので、動向を探りに </li>
<li>コンパニオン充 </li>
<li>東京までドライブがしたかった（レインボーブリッジ、アクアライン、横浜ベイブリッジ） </li>
</ul>
<p>きっかけは後付け。何も考えず行動が先に出るので、気付いたときには幕張メッセの駐車場にいた。</p>
<h4>TGS2009に入場</h4>
<p><a href="http://creco.net/wp-content/uploads/IMGP2173.jpg" rel="lightbox[749]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="IMGP2173" border="0" alt="IMGP2173" src="http://creco.net/wp-content/uploads/IMGP2173_thumb.jpg" width="404" height="228" /></a> </p>
<p>入った瞬間「ガラガラだな…」って。展示スペースもずいぶんゆったり、通路も広く、もみくちゃカオスになる要素が皆無。</p>
<p>このとき、公式パンフレットをもらい、各社の展示スペース位置を初めて確認したんだけど、ずいぶん業界の再編成がすすんだんだなって思った。マイクロソフト、SCE、コナミとかドデカイところがデーンとあるが、昔はあった弱小メーカーのゴミゴミしたブースが一掃されちゃってる気がする。</p>
<p>イベントステージで有野課長とクリエイターとのトークセッションみたいなのが開催されてたので、さらっと見る。</p>
<p><a href="http://creco.net/wp-content/uploads/image.png" rel="lightbox[749]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://creco.net/wp-content/uploads/image_thumb.png" width="400" height="267" /></a> </p>
<p>そこで、セカイカメラを起動して周りを見たんだが、スゲエwww</p>
<p>エアタグいっぱいで、写真のエアタグが目立つ。ブースごとに感想とかあって面白い。残念なのは、屋内でGPS精度が悪いところかな？このときにWi-Fi補正って役に立つんだろうか（イベント会場なんて即席Wi-Fi局が多いだろうし）</p>
<h4>iPhoneアプリの展示など</h4>
<p>そのセカイカメラが展示されてるブース行ったんだけど、展示内容にしらけた。</p>
<p><a href="http://creco.net/wp-content/uploads/IMGP2199.jpg" rel="lightbox[749]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="IMGP2199" border="0" alt="IMGP2199" src="http://creco.net/wp-content/uploads/IMGP2199_thumb.jpg" width="404" height="227" /></a>&#160;</p>
<p>パネル説明…ポカーン。注目浴びてるはずなのに、もう少し（ゲームショウに来てる客層に）分かりやすい展示方法があったんじゃないのかな？</p>
<p><a href="http://creco.net/wp-content/uploads/IMGP22471.jpg" rel="lightbox[749]"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="IMGP2247" border="0" alt="IMGP2247" src="http://creco.net/wp-content/uploads/IMGP2247_thumb1.jpg" width="404" height="229" /></a> </p>
<p>一方で、小さなブースながら「ニューロスカイ」は、脳波でゲームをプレイするというコンセプトや、客を巻き込んだプレゼン内容など、ひと目でわかりやすく注目を浴びていた。</p>
<p>iPhoneアプリをTGSに展示する場合は、TGSってどんな場所かを予め知っておかないと駄目ですね。ゲームスクールコーナーでコスプレした女の子をエサにしてた学校がいい例。明と暗がくっきりわかれる、それがTGS、昔から変わらない。</p>
<h4>PSP goとかSCEの展示</h4>
<p><a href="http://creco.net/wp-content/uploads/IMGP2251.jpg" rel="lightbox[749]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="IMGP2251" border="0" alt="IMGP2251" src="http://creco.net/wp-content/uploads/IMGP2251_thumb.jpg" width="244" height="184" /></a>&#160;&#160;&#160; <a href="http://creco.net/wp-content/uploads/IMGP2253.jpg" rel="lightbox[749]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="IMGP2253" border="0" alt="IMGP2253" src="http://creco.net/wp-content/uploads/IMGP2253_thumb.jpg" width="187" height="244" /></a> </p>
<p>PSP goを初めて触った。発表された時には、全面スライドパネルの液晶部に重心が持っていかれ、ゲームプレイ時に手首が疲れそうだなって思っていたが、いざ持ってみるとそうでもなく、現行のPSPより持ちやすくて安定している印象。</p>
<p>Bluetoothが付いてることを強調されてて、俺「音楽とかBluetoothヘッドセットで聞けちゃうんですね！」お姉さん「そうなんですよ～」。俺「それじゃあファイルの同期もBluetoothでできちゃうんですね！」お姉さん「多分、そうなんですよ～」。多分できるそうだ。</p>
<p>miniUSB端子が付いてないので、USB機器とつなげようとするときアダプタが必要とのこと。面倒そうだなって感じたが、BluetoothとかWi-Fiとか付いてればカバーできるし、問題ないのかも。</p>
<p>SCEブースで3D立体視ゲームというなるものが展示されてたので、メガネをかけてゲーム画面を見てみた。3D立体というと、飛び出てくるイメージがあったけど、実際はテレビに奥行きがあるような映像。目が疲れやすいとか、そういうことはなさそうだけど、周りから強い光（TGSだから仕方ないね）があると立体的に見えなくなるね。</p>
<h4>その他ぶらぶらと</h4>
<p><a href="http://creco.net/wp-content/uploads/IMGP2210.jpg" rel="lightbox[749]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="IMGP2210" border="0" alt="IMGP2210" src="http://creco.net/wp-content/uploads/IMGP2210_thumb.jpg" width="244" height="184" /></a><a href="http://creco.net/wp-content/uploads/IMGP2232.jpg" rel="lightbox[749]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="IMGP2232" border="0" alt="IMGP2232" src="http://creco.net/wp-content/uploads/IMGP2232_thumb.jpg" width="244" height="184" /></a><a href="http://creco.net/wp-content/uploads/IMGP2187.jpg" rel="lightbox[749]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="IMGP2187" border="0" alt="IMGP2187" src="http://creco.net/wp-content/uploads/IMGP2187_thumb.jpg" width="244" height="184" /></a><a href="http://creco.net/wp-content/uploads/IMGP2285.jpg" rel="lightbox[749]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="IMGP2285" border="0" alt="IMGP2285" src="http://creco.net/wp-content/uploads/IMGP2285_thumb.jpg" width="244" height="187" /></a>&#160; </p>
<p>（上左）グランツーリスモからはメルセデス・ベンツSLS AMGの展示。    <br />（上右）お台場にあったガンダムの頭部だけの展示。     <br />（下）ゲーム科学博物館の展示。</p>
<p><a href="http://creco.net/wp-content/uploads/IMGP2264.jpg" rel="lightbox[749]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="IMGP2264" border="0" alt="IMGP2264" src="http://creco.net/wp-content/uploads/IMGP2264_thumb.jpg" width="404" height="229" /></a> </p>
<p>2時間強の滞在時間だったけど、時間はあっという間に過ぎて気付けば蛍の光。</p>
<p>来年も機会があれば、行きたいですね。</p>
]]></content:encoded>
			<wfw:commentRss>http://creco.net/2009/09/30/tokyo-game-show-2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://creco.net/2009/09/30/tokyo-game-show-2009/" />
	</item>
		<item>
		<title>TwitterをSoftalkのゆっくりボイスでしゃべらせる 2</title>
		<link>http://creco.net/2009/07/17/softalk_twitter_to_bring_out_slowly_in_a_voice_of/</link>
		<comments>http://creco.net/2009/07/17/softalk_twitter_to_bring_out_slowly_in_a_voice_of/#comments</comments>
		<pubDate>Thu, 16 Jul 2009 22:39:31 +0000</pubDate>
		<dc:creator>inagaki</dc:creator>
				<category><![CDATA[作ってみた]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Softalk]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://creco.net/2009/07/17/softalk_twitter_to_bring_out_slowly_in_a_voice_of/</guid>
		<description><![CDATA[TwitterをSoftalkのゆっくりボイスでしゃべらせる &#124; クレコ
では、python-twitterというライブラリを使っていたわけですが、そもそもタイムライン、メンションを読むだけなら、そこまで高機能なのはいら [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://creco.net/2009/04/13/softalk_tweet_timeline_of_twitter/">TwitterをSoftalkのゆっくりボイスでしゃべらせる | クレコ</a></p>
<p>では、python-twitterというライブラリを使っていたわけですが、そもそもタイムライン、メンションを読むだけなら、そこまで高機能なのはいらない！それに、導入するのが面倒！ってわけで、簡単お気軽に導入できるようにしてみた。</p>
<p> <span id="more-714"></span><br />
<h3>ソース</h3>
<pre class="csharpcode"># -*- coding: utf-8 -*-

import feedparser, os, nkf, re, time

# config
userName = <span class="str">&quot;USERNAME&quot;</span>
passWord = <span class="str">&quot;PASSWORD&quot;</span>
softalkPath = <span class="str">&quot;C:\softalk\softalk.exe&quot;</span>
softalkSpeed = <span class="str">&quot;120&quot;</span>
lastSinceId = 1
lastGetTime = 0

# convert <span class="kwrd">string</span>
def convertString(<span class="kwrd">string</span>):
    # remove HTML entity
    <span class="kwrd">string</span> = re.sub(<span class="str">'&amp;.+;'</span>, <span class="str">' '</span>, <span class="kwrd">string</span>)
    # remove URL
    <span class="kwrd">string</span> = re.sub(<span class="str">'(https?|ftp)(:\/\/[-_.!~*\'()a-zA-Z0-9;\/?:\@&amp;=+\$,%#]+)'</span>, u<span class="str">'ウェブ'</span>, <span class="kwrd">string</span>)

    # remove quote
    <span class="kwrd">string</span> = re.sub(<span class="str">'&quot;'</span>, <span class="str">' '</span>, <span class="kwrd">string</span>)
    <span class="kwrd">string</span> = re.sub(<span class="str">&quot;'&quot;</span>, <span class="str">' '</span>, <span class="kwrd">string</span>)
    <span class="kwrd">string</span> = re.sub(<span class="str">'\/'</span>, <span class="str">' '</span>, <span class="kwrd">string</span>)

    # remove my username
    <span class="kwrd">string</span> = re.sub(<span class="str">'@'</span> + userName , u<span class="str">'あなた'</span>, <span class="kwrd">string</span>)

    # convert unicode to sjis <span class="kwrd">using</span> nkf module
    <span class="kwrd">string</span> = nkf.nkf(<span class="str">&quot;-sX&quot;</span>, <span class="kwrd">string</span>.encode(<span class="str">&quot;utf8&quot;</span>))

    <span class="kwrd">return</span> <span class="kwrd">string</span>

# get twitter timeline
def getTimeline():
    global lastSinceId

    rss = feedparser.parse(<span class="str">'https://'</span> + userName + <span class="str">':'</span> + passWord + <span class="str">'@twitter.com/statuses/mentions.rss?since_id='</span> + str(lastSinceId) )
#    rss = feedparser.parse(<span class="str">'https://'</span> + userName + <span class="str">':'</span> + passWord + <span class="str">'@twitter.com/statuses/friends_timeline.rss?since_id='</span> + str(lastSinceId) )

    <span class="kwrd">if</span> len(rss.entries) &gt; 0:
        lastSinceId = re.search(<span class="str">'\d+$'</span>, rss.entries[0].guid).group()

    reversed(rss.entries)

    <span class="kwrd">for</span> i <span class="kwrd">in</span> rss.entries[::-1]:
        print <span class="str">&quot;%s&quot;</span> % (convertString(i.title))
        os.system(<span class="str">'&quot;'</span> + softalkPath + <span class="str">'&quot; /V:60 /S:'</span>+softalkSpeed+<span class="str">' /T:3 /W:'</span> + convertString(i.title))

<span class="kwrd">while</span> True:
    # time span of get timeline
    <span class="kwrd">if</span> time.time() &gt; lastGetTime + 60:
        lastGetTime = time.time()
        getTimeline()
    <span class="kwrd">else</span>:
        time.sleep(5)</pre>
<h3>解説</h3>
<h4>導入するもの<br />
<style type="text/css">
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
</h4>
<ul>
<li>Python実行環境</li>
<li><a href="http://www.feedparser.org/">feedparser</a></li>
<li>nkf</li>
<li>SofTalk ver0151（複数起動ができるバージョン）</li>
</ul>
<h4>やっていること</h4>
<p>今回は、feedparser使ってRSSで取得をしています。since_idで最新のものだけを取得しますが、20件以上あった場合のページ処理はしていませんので注意！20件以上あると読み上げが追いつかなくなりそうですけど。</p>
<p>あとは取得した本文をフィルタかけて読み上げるだけ。前はURLとかも全部読ませていたけど、URLなんて読み上げられたところでどうしようもないので、省略して「ウェブ」とだけ読み上げるようにしました。</p>
<p>これも、適当にカスタマイズして使ってもらえればうれしいです。ではでは！</p>
]]></content:encoded>
			<wfw:commentRss>http://creco.net/2009/07/17/softalk_twitter_to_bring_out_slowly_in_a_voice_of/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://creco.net/2009/07/17/softalk_twitter_to_bring_out_slowly_in_a_voice_of/" />
	</item>
		<item>
		<title>今ココなう！のPythonクライアント作った</title>
		<link>http://creco.net/2009/07/17/carry_out_here_now_the_client_created_python/</link>
		<comments>http://creco.net/2009/07/17/carry_out_here_now_the_client_created_python/#comments</comments>
		<pubDate>Thu, 16 Jul 2009 22:05:35 +0000</pubDate>
		<dc:creator>inagaki</dc:creator>
				<category><![CDATA[作ってみた]]></category>
		<category><![CDATA[GPS]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[今ココなう！]]></category>

		<guid isPermaLink="false">http://creco.net/2009/07/17/carry_out_here_now_the_client_created_python/</guid>
		<description><![CDATA[周りにはiPhoneのネイティブアプリ版を早く作れ！と言われてますが、時間がかかりそう（位置情報をポストするまではできたけど、ソフトとして完成させるとなるとと物足りないよねー）なので、簡単そうなPythonクライアント作 [...]]]></description>
			<content:encoded><![CDATA[<p>周りにはiPhoneのネイティブアプリ版を早く作れ！と言われてますが、時間がかかりそう（位置情報をポストするまではできたけど、ソフトとして完成させるとなるとと物足りないよねー）なので、簡単そうなPythonクライアント作ってみた。</p>
<p>簡単というのは、以前から自作のPythonクライアントを自分のライブトラッキングサーバ用に作っていたので、それを<a href="http://www.fujita-lab.com/imakoko/api.html">今ココなう！のAPI仕様</a>にあわせるだけだったり。</p>
<p>確認してないですが、Python実行環境を導入して、スクリプトを少し改造さえすればMacやLinuxなどでも使えると思うので、もしよかったら自由にお使いください。   <br />あと、自分のGPSロガーでしか確認していません、ごめんなさい。</p>
<p> <span id="more-713"></span><br />
<h3>ソース</h3>
<pre class="csharpcode">#!/usr/bin/python
# -*- coding: utf-8 -*-

# pySerial + Win32 Extensions(optional)
import sys, os, os.path, serial, urllib, urllib2, socket, thread, time, winsound

# Httpのタイムアウト値
socket.setdefaulttimeout(10)

# シリアルポートの設定
serialPort = <span class="str">'COM6'</span>

# 今ココなう！のユーザーIDとパスワード
userId = <span class="str">'USERID'</span>
userPassword = <span class="str">'USERPASSWORD'</span>

saveFlag = 1
markerType = 0

tryCount = 0
baseTime = 0

# NMEAセンテンスの読み取り
def getNmeaSentence():
    global baseTime

    <span class="kwrd">while</span> True:
        <span class="kwrd">try</span> :
            buffer = ser.read(1000)
        except :
            print <span class="str">&quot;error&quot;</span>
            <span class="kwrd">return</span> <span class="str">&quot;error&quot;</span>

        <span class="kwrd">if</span> <span class="kwrd">int</span>(time.time()) + baseTime - time.time() &gt; 0:
            time.sleep(<span class="kwrd">int</span>(time.time()) + baseTime - time.time() )

        # タイミング調整
        <span class="kwrd">if</span> buffer[0:6] != <span class="str">'$GPGGA'</span>:
            time.sleep(0.1)
            <span class="kwrd">if</span> baseTime &gt; 0.9:
                baseTime -= 0.9
            <span class="kwrd">else</span>:
                baseTime += 0.1
            print <span class="str">&quot;clock-timing adjustment...\n&quot;</span>
            <span class="kwrd">return</span>

        # GGAセンテンスの測位時刻の秒一桁が0
        <span class="kwrd">if</span> buffer[12:13] == <span class="str">'0'</span>:
            lines = buffer.split(<span class="str">&quot;\r\n&quot;</span>)

            data = [<span class="str">''</span>] * 12

            <span class="kwrd">for</span> line <span class="kwrd">in</span> lines:
                nmea = line.split(<span class="str">','</span>)

                <span class="kwrd">if</span> nmea[0] == <span class="str">'$GPGGA'</span>:
                    data[0] = nmea[1] # 測位時刻
                    data[1] = nmea[2] # 緯度
                    data[2] = nmea[3] # 北緯・南緯
                    data[3] = nmea[4] # 経度
                    data[4] = nmea[5] # 東経・西経
                    data[5] = nmea[6] # GPS測位状態
                    data[6] = nmea[7] # 受信衛星数
                    data[7] = nmea[8] # HDOP
                    data[8] = nmea[9] # 高度
                elif nmea[0] == <span class="str">'$GPRMC'</span>:
                    data[9] = nmea[7] # 対地速度
                    data[10] = nmea[8] # 進行方向
                    data[11] = nmea[9] # 測位日付

            # GPSが受信不能
            <span class="kwrd">if</span> data[5] == <span class="str">'0'</span>:
                print <span class="str">&quot;not receivable GPS data...&quot;</span>
                winsound.PlaySound(<span class="str">&quot;SystemQuestion&quot;</span>, winsound.SND_ALIAS)
                <span class="kwrd">return</span>

            args = (data,)
            thread.start_new_thread(putGpsData, args)

# Post
def putGpsData(args) :

    global tryCount

    print <span class="str">&quot;post...&quot;</span>

    gpsTime = time.strftime(<span class="str">&quot;%Y-%m-%dT%H:%M:%S&quot;</span>, time.localtime())
    gpsLatitudeD = <span class="kwrd">int</span>(<span class="kwrd">float</span>(args[1]) / 100)
    gpsLatitudeM = (<span class="kwrd">float</span>(args[1]) - gpsLatitudeD * 100)
    gpsLatitude = gpsLatitudeD + gpsLatitudeM / 60
    <span class="kwrd">if</span> args[2] == <span class="str">'S'</span>:
        gpsLatitude *= -1
    gpsLongitudeD = <span class="kwrd">int</span>(<span class="kwrd">float</span>(args[3]) / 100)
    gpsLongitudeM = (<span class="kwrd">float</span>(args[3]) - gpsLongitudeD * 100)
    gpsLongitude = gpsLongitudeD + gpsLongitudeM / 60
    <span class="kwrd">if</span> args[4] == <span class="str">'W'</span>:
        gpsLongitude *= -1
    gpsSpeed = <span class="kwrd">float</span>(args[9]) * 1.852 # knotをkm/hに変換

    <span class="kwrd">params</span> = {
        <span class="str">&quot;time&quot;</span> : gpsTime,
        <span class="str">&quot;lat&quot;</span> : gpsLatitude,
        <span class="str">&quot;lon&quot;</span> : gpsLongitude,
        <span class="str">&quot;gpsq&quot;</span> : args[5],
        <span class="str">&quot;gpsn&quot;</span> : args[6],
        <span class="str">&quot;gpsh&quot;</span> : args[8],
        <span class="str">&quot;gpsd&quot;</span> : args[10],
        <span class="str">&quot;gpsv&quot;</span> : gpsSpeed,
        <span class="str">&quot;save&quot;</span> : saveFlag,
        <span class="str">&quot;t&quot;</span> : markerType,
    }

    topLevelUrl = <span class="str">'imakoko-gps.appspot.com'</span>
    url = <span class="str">'http://imakoko-gps.appspot.com/api/post'</span>
    passMan = urllib2.HTTPPasswordMgrWithDefaultRealm()
    passMan.add_password(None, topLevelUrl, userId, userPassword)
    authHandler = urllib2.HTTPBasicAuthHandler(passMan)
    opener = urllib2.build_opener(authHandler)
    urllib2.install_opener(opener)

    <span class="kwrd">try</span>:
        urllib2.urlopen(url, urllib.urlencode(<span class="kwrd">params</span>))
    except urllib2.HTTPError, e:
        winsound.PlaySound(<span class="str">&quot;Notify&quot;</span>, winsound.SND_ALIAS)
        print e
    except urllib2.URLError, e:
        winsound.PlaySound(<span class="str">&quot;Notify&quot;</span>, winsound.SND_ALIAS)
        print e

    tryCount = tryCount + 1

    print tryCount
    print <span class="kwrd">params</span>
    print <span class="str">&quot;\n&quot;</span>

# シリアル接続
def connect() :
    global ser, baseTime

    <span class="kwrd">try</span>:
        ser = serial.Serial(serialPort, 38400, bytesize=8, parity=<span class="str">'N'</span>, stopbits=1, timeout=0.9, xonxoff=0, rtscts=0)
    except serial.SerialException, e:
        print e

    baseTime = time.time() - <span class="kwrd">int</span>(time.time());

    <span class="kwrd">while</span> True:
        <span class="kwrd">if</span> getNmeaSentence() == <span class="str">&quot;error&quot;</span>:
            ser.close()
            <span class="kwrd">return</span>

    ser.close()

# メインループ
<span class="kwrd">while</span> True:
    connect()
    time.sleep(5)
    print <span class="str">&quot;reconnect...&quot;</span></pre>
<h3>解説<br />
<style type="text/css">
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
</h3>
<h4>導入するもの</h4>
<ul>
<li>Python実行環境</li>
<li>pySerial</li>
<li>Win32 Extension（場合によっては必要ないかも）</li>
</ul>
<h4>やっていること</h4>
<ol>
<li>メインでGPS接続試行でぐるぐる</li>
<li>GPSにシリアル接続（ボーレートとかは調節してね。なんでタイムアウトが0.9なのかは謎）</li>
<li>1秒ごとにNMEAセンテンスを読み取る。読み取るタイミングを調節</li>
<li>調節がうまくいったら、10秒ごとにGGAとRMCのセンテンスを読み取る</li>
<li>BASIC認証で今ココなう！APIにPOSTする</li>
</ol>
<p>ぼくの場合、自転車での使用を想定していて、メッセージを目視することはできないので、なんらかのエラーが起きた場合に視覚以外で知る必要があります。なので、GPS情報が取得できない場合と、POSTがうまくいかなかった場合はそれぞれサウンドがなるように設定しています。</p>
<h4>以上です。</h4>
<p>Pythonがある程度わかる人前提なので、そんなに説明することないですね。逆に、なんでこんなシリアル接続パラメーターなのかとか、タイミングの取り方でもっとスマートなやり方とか、スレッド使うときにタプルで引数を渡すのはなんで？とか教えてもらいたかったり。</p>
<h6></h6>
<h5>今ココなう！実装済み環境</h5>
<ul>
<li>Android Chrome Lite + Google Gears、各種ブラウザ + Google Gearsアドオン</li>
<li>iPhone Mobile Safari (OS 3.0以上)、Firefox 3.5以上、Safari 3.0以上</li>
<li>Python <strong>New!</strong></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://creco.net/2009/07/17/carry_out_here_now_the_client_created_python/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://creco.net/2009/07/17/carry_out_here_now_the_client_created_python/" />
	</item>
		<item>
		<title>名古屋都心の廃線「南方貨物線」を大府駅から自転車で辿ってみた</title>
		<link>http://creco.net/2009/07/05/nagoya_city_waste_lines_of_quotsouthern_freight_linequot_i_followed_the_bike_from_the_station_oobu/</link>
		<comments>http://creco.net/2009/07/05/nagoya_city_waste_lines_of_quotsouthern_freight_linequot_i_followed_the_bike_from_the_station_oobu/#comments</comments>
		<pubDate>Sun, 05 Jul 2009 10:14:30 +0000</pubDate>
		<dc:creator>inagaki</dc:creator>
				<category><![CDATA[野外活動]]></category>
		<category><![CDATA[Google Maps]]></category>
		<category><![CDATA[地図]]></category>
		<category><![CDATA[廃線]]></category>
		<category><![CDATA[鉄道]]></category>

		<guid isPermaLink="false">http://creco.net/2009/07/05/nagoya_city_waste_lines_of_quotsouthern_freight_linequot_i_followed_the_bike_from_the_station_oobu/</guid>
		<description><![CDATA[    大きな地図で見る
南方貨物線とコアラの謎
コアラがいる！！
Google Maps の航空写真でコアラを見つけたとき、興奮して上のような投稿をTwitterにしたのを覚えている。
そもそも、なんでこのコアラを見つ [...]]]></description>
			<content:encoded><![CDATA[<p><iframe height="350" marginheight="0" src="http://maps.google.co.jp/maps?hl=ja&amp;ie=UTF8&amp;ll=35.119126,136.862209&amp;spn=0.000384,0.000519&amp;t=h&amp;z=21&amp;output=embed" frameborder="0" width="425" marginwidth="0" scrolling="no"></iframe>    <br /><small><a style="text-align: left; color: #0000ff" href="http://maps.google.co.jp/maps?hl=ja&amp;ie=UTF8&amp;ll=35.119126,136.862209&amp;spn=0.000384,0.000519&amp;t=h&amp;z=21&amp;source=embed">大きな地図で見る</a></small></p>
<h3>南方貨物線とコアラの謎</h3>
<p><strong>コアラ</strong>がいる！！</p>
<p>Google Maps の航空写真でコアラを見つけたとき、興奮して上のような投稿をTwitterにしたのを覚えている。</p>
<p>そもそも、なんでこのコアラを見つけたかというと、Wikipediaで南方貨物線という名古屋の廃線に興味を抱き、Google Mapsの航空写真モードで線路跡を大府駅から辿っていったときに偶然見つけたのだ。</p>
<blockquote><p><b>南方貨物線</b>（なんぽうかもつせん）とは、日本国有鉄道（国鉄）が名古屋貨物ターミナル駅（1980年開設）から笠寺駅・大府駅を結ぶことを目的に建設を行い、途中でそれが中断された東海道本線の貨物支線（未成線）である。建設は輸送力の増強が目的であったため、日本鉄道建設公団でなく国鉄自身の手で行われた。</p>
</blockquote>
<p>引用：<a href="http://ja.wikipedia.org/wiki/%E5%8D%97%E6%96%B9%E8%B2%A8%E7%89%A9%E7%B7%9A">南方貨物線 – Wikipedia</a> より</p>
<p>このコアラはなんなのか？そして、南方貨物線を実際に辿って見てみたくなり、自転車で廃線沿いを走ってみることにした。</p>
<p> <span id="more-711"></span><br />
<h3>JR東海道本線から見える南方貨物線</h3>
<p><iframe height="350" marginheight="0" src="http://maps.google.co.jp/maps/ms?hl=ja&amp;ie=UTF8&amp;msa=0&amp;msid=104670051341745972672.00046def854cc96c8ee60&amp;ll=35.072717,136.904068&amp;spn=0.196688,0.291824&amp;z=11&amp;output=embed" frameborder="0" width="425" marginwidth="0" scrolling="no"></iframe>    <br /><small>より大きな地図で <a style="text-align: left; color: #0000ff" href="http://maps.google.co.jp/maps/ms?hl=ja&amp;ie=UTF8&amp;msa=0&amp;msid=104670051341745972672.00046def854cc96c8ee60&amp;ll=35.072717,136.904068&amp;spn=0.196688,0.291824&amp;z=11&amp;source=embed">南方貨物線</a> を表示</small></p>
<p>上の地図は Google Maps のマイマップで南方貨物線をJR大府駅からあおなみ線中島駅までトレースした地図。実際に航空写真で辿ってみると面白いので、大きな地図を別ウィンドウで開いて見てもらえばと思う。</p>
<p>この南方貨物線、大府駅から笠寺駅まではJR東海道本線と並行して線路が敷いてある。が、この線路もレールは既に撤去されたようで、道床が残るのみだ。また、新興住宅地として開発著しい南大高駅のあたりでは跡すらも完全になくなってしまっている。</p>
<p>そこで、JR東海道本線の車窓から見る南方貨物線はどのように見えるのか動画で撮影してみた。</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:f7135a70-c002-436a-83e1-d039095df4ca" class="wlWriterEditableSmartContent">
<div><object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/lR4dBzk43v0&amp;hl=ja&amp;fs=1&amp;rel=0&amp;hl=en"></param><embed src="http://www.youtube.com/v/lR4dBzk43v0&amp;hl=ja&amp;fs=1&amp;rel=0&amp;hl=en" type="application/x-shockwave-flash" width="425" height="355"></embed></object></div>
</div>
<p>動画は都合上（Youtubeの10分制限だったり、あまり代わり映えしないからだったり）南大高駅からとなる。大府駅から共和駅の様子は、自転車で辿った項目にある写真を参考にしてほしい。</p>
<h4>動画のタイムライン</h4>
<ul>
<li><a href="http://www.youtube.com/watch?v=lR4dBzk43v0#">00:39</a> 南大高駅。今年の3月にできた新駅で、周りは変化が著しい。共和駅まであった道床も、この駅周辺ではなくなっている。 </li>
<li><a href="http://www.youtube.com/watch?v=lR4dBzk43v0#">03:05</a> 大高駅。大高駅まで高架の工事を行っている。高架は撤去するのではなく、補修しているそうだ。ホーム構内のレールはない。 </li>
<li><a href="http://www.youtube.com/watch?v=lR4dBzk43v0#">06:13</a> 笠寺駅。貨物線がある。 </li>
<li><a href="http://www.youtube.com/watch?v=lR4dBzk43v0#">07:20</a> 東海道新幹線とアンダークロス。 </li>
<li><a href="http://www.youtube.com/watch?v=lR4dBzk43v0#">07:43</a> 南方貨物線と分岐。山崎川を渡る手前では高架が軽貨急配のトラック車庫として利用されていることがわかる。山崎川の後は、住宅街に埋もれてしまいどこにあるのかがわかりづらい。 </li>
</ul>
<h4>動画からのキャプチャ画像</h4>
<p><a href="http://creco.net/wp-content/uploads/mp4_000464400.jpg" rel="lightbox[711]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="南方貨物線_大府-熱田" border="0" alt="南方貨物線_大府-熱田" src="http://creco.net/wp-content/uploads/mp4_000464400_thumb.jpg" width="244" height="184" /></a> <a href="http://creco.net/wp-content/uploads/mp4_000467033.jpg" rel="lightbox[711]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="南方貨物線_大府-熱田" border="0" alt="南方貨物線_大府-熱田" src="http://creco.net/wp-content/uploads/mp4_000467033_thumb.jpg" width="244" height="184" /></a></p>
<p>動画だと一瞬なので見逃しやすいが、このように南方貨物線として作られた高架がトラックの車庫として使われている。</p>
<h3>自転車で大府駅から南方貨物線を辿る</h3>
<p>地図を見てもらってもよくわかるように、南方貨物線の高架は道路に沿っているわけでもないので、機動性のある自転車で巡ることがベストな選択かと。</p>
<p>そんなわけで某日、大府駅から謎なコアラの絵がある中島駅まで自転車で巡ってみた。</p>
<h4>JR大府駅周辺</h4>
<p>&#160;<a href="http://creco.net/wp-content/uploads/DSCN0193.jpg" rel="lightbox[711]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="DSCN0193" border="0" alt="DSCN0193" src="http://creco.net/wp-content/uploads/DSCN0193_thumb.jpg" width="244" height="184" /></a> <a href="http://creco.net/wp-content/uploads/DSCN0194.jpg" rel="lightbox[711]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="DSCN0194" border="0" alt="DSCN0194" src="http://creco.net/wp-content/uploads/DSCN0194_thumb.jpg" width="244" height="184" /></a> <a href="http://creco.net/wp-content/uploads/DSCN0195.jpg" rel="lightbox[711]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="DSCN0195" border="0" alt="DSCN0195" src="http://creco.net/wp-content/uploads/DSCN0195_thumb.jpg" width="244" height="184" /></a> </p>
<p>大府駅周辺は貨物用線路として使われている様子。</p>
<h4>JR大府駅からJR共和駅へ</h4>
<p><a href="http://creco.net/wp-content/uploads/DSCN0196.jpg" rel="lightbox[711]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="DSCN0196" border="0" alt="DSCN0196" src="http://creco.net/wp-content/uploads/DSCN0196_thumb.jpg" width="244" height="184" /></a><a href="http://creco.net/wp-content/uploads/DSCN0198.jpg" rel="lightbox[711]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="DSCN0198" border="0" alt="DSCN0198" src="http://creco.net/wp-content/uploads/DSCN0198_thumb.jpg" width="244" height="184" /></a><a href="http://creco.net/wp-content/uploads/DSCN0199.jpg" rel="lightbox[711]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="DSCN0199" border="0" alt="DSCN0199" src="http://creco.net/wp-content/uploads/DSCN0199_thumb.jpg" width="244" height="184" /></a><a href="http://creco.net/wp-content/uploads/DSCN0200.jpg" rel="lightbox[711]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="DSCN0200" border="0" alt="DSCN0200" src="http://creco.net/wp-content/uploads/DSCN0200_thumb.jpg" width="244" height="184" /></a><a href="http://creco.net/wp-content/uploads/DSCN0201.jpg" rel="lightbox[711]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="DSCN0201" border="0" alt="DSCN0201" src="http://creco.net/wp-content/uploads/DSCN0201_thumb.jpg" width="244" height="184" /></a></p>
<p>レールは既になくなっている。看板によると南方貨物線路盤工事として補修しているとのこと。</p>
<h4>JR共和駅周辺</h4>
<p><a href="http://creco.net/wp-content/uploads/DSCN0202.jpg" rel="lightbox[711]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="DSCN0202" border="0" alt="DSCN0202" src="http://creco.net/wp-content/uploads/DSCN0202_thumb.jpg" width="244" height="184" /></a><a href="http://creco.net/wp-content/uploads/DSCN0203.jpg" rel="lightbox[711]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="DSCN0203" border="0" alt="DSCN0203" src="http://creco.net/wp-content/uploads/DSCN0203_thumb.jpg" width="244" height="184" /></a>&#160;<a href="http://creco.net/wp-content/uploads/DSCN0204.jpg" rel="lightbox[711]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="DSCN0204" border="0" alt="DSCN0204" src="http://creco.net/wp-content/uploads/DSCN0204_thumb.jpg" width="184" height="244" /></a> <a href="http://creco.net/wp-content/uploads/DSCN0205.jpg" rel="lightbox[711]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="DSCN0205" border="0" alt="DSCN0205" src="http://creco.net/wp-content/uploads/DSCN0205_thumb.jpg" width="244" height="184" /></a> </p>
<p>共和駅構内はバリアフリー化の工事中。愛三工業の敷地から線路よりには細い道路があるので、そこを通ってみた。</p>
<h4>JR南大高駅周辺</h4>
<p><a href="http://creco.net/wp-content/uploads/DSCN0206.jpg" rel="lightbox[711]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="DSCN0206" border="0" alt="DSCN0206" src="http://creco.net/wp-content/uploads/DSCN0206_thumb.jpg" width="244" height="184" /></a> <a href="http://creco.net/wp-content/uploads/DSCN0207.jpg" rel="lightbox[711]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="DSCN0207" border="0" alt="DSCN0207" src="http://creco.net/wp-content/uploads/DSCN0207_thumb.jpg" width="244" height="184" /></a> <a href="http://creco.net/wp-content/uploads/DSCN0208.jpg" rel="lightbox[711]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="DSCN0208" border="0" alt="DSCN0208" src="http://creco.net/wp-content/uploads/DSCN0208_thumb.jpg" width="244" height="184" /></a> </p>
<h4>JR南大高駅からJR大高駅へ</h4>
<p><a href="http://creco.net/wp-content/uploads/DSCN0209.jpg" rel="lightbox[711]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="DSCN0209" border="0" alt="DSCN0209" src="http://creco.net/wp-content/uploads/DSCN0209_thumb.jpg" width="244" height="184" /></a> <a href="http://creco.net/wp-content/uploads/DSCN0210.jpg" rel="lightbox[711]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="DSCN0210" border="0" alt="DSCN0210" src="http://creco.net/wp-content/uploads/DSCN0210_thumb.jpg" width="244" height="184" /></a> <a href="http://creco.net/wp-content/uploads/DSCN0211.jpg" rel="lightbox[711]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="DSCN0211" border="0" alt="DSCN0211" src="http://creco.net/wp-content/uploads/DSCN0211_thumb.jpg" width="244" height="184" /></a> <a href="http://creco.net/wp-content/uploads/DSCN0212.jpg" rel="lightbox[711]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="DSCN0212" border="0" alt="DSCN0212" src="http://creco.net/wp-content/uploads/DSCN0212_thumb.jpg" width="244" height="184" /></a></p>
<p>JR東海道本線と並行している南方貨物線の走る高架を補修している様子。 </p>
<h4>JR笠寺駅周辺</h4>
<p><a href="http://creco.net/wp-content/uploads/DSCN0213.jpg" rel="lightbox[711]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="DSCN0213" border="0" alt="DSCN0213" src="http://creco.net/wp-content/uploads/DSCN0213_thumb.jpg" width="244" height="184" /></a> <a href="http://creco.net/wp-content/uploads/DSCN0214.jpg" rel="lightbox[711]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="DSCN0214" border="0" alt="DSCN0214" src="http://creco.net/wp-content/uploads/DSCN0214_thumb.jpg" width="244" height="184" /></a> <a href="http://creco.net/wp-content/uploads/DSCN0215.jpg" rel="lightbox[711]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="DSCN0215" border="0" alt="DSCN0215" src="http://creco.net/wp-content/uploads/DSCN0215_thumb.jpg" width="244" height="184" /></a></p>
<h4>東海道新幹線とのアンダークロスとJR東海道本線との分岐</h4>
<p>&#160;<a href="http://creco.net/wp-content/uploads/DSCN0216.jpg" rel="lightbox[711]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="DSCN0216" border="0" alt="DSCN0216" src="http://creco.net/wp-content/uploads/DSCN0216_thumb.jpg" width="244" height="184" /></a> <a href="http://creco.net/wp-content/uploads/DSCN0217.jpg" rel="lightbox[711]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="DSCN0217" border="0" alt="DSCN0217" src="http://creco.net/wp-content/uploads/DSCN0217_thumb.jpg" width="244" height="184" /></a> <a href="http://creco.net/wp-content/uploads/DSCN0218.jpg" rel="lightbox[711]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="DSCN0218" border="0" alt="DSCN0218" src="http://creco.net/wp-content/uploads/DSCN0218_thumb.jpg" width="244" height="184" /></a> <a href="http://creco.net/wp-content/uploads/DSCN0219.jpg" rel="lightbox[711]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="DSCN0219" border="0" alt="DSCN0219" src="http://creco.net/wp-content/uploads/DSCN0219_thumb.jpg" width="244" height="184" /></a> <a href="http://creco.net/wp-content/uploads/DSCN0220.jpg" rel="lightbox[711]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="DSCN0220" border="0" alt="DSCN0220" src="http://creco.net/wp-content/uploads/DSCN0220_thumb.jpg" width="244" height="184" /></a> </p>
<p>JR東海道本線と南方貨物線の上を東海道新幹線の高架がクロスする。</p>
<p>最後の写真は山崎川に架かる東海道本線の鉄橋。この手前で南方貨物線は分岐しているわけだが、どこで分岐しているかわからなかったので、山崎川を渡って探してみることに。</p>
<h4> 住宅街に突如あらわれる南方貨物線の高架</h4>
<p><a href="http://creco.net/wp-content/uploads/DSCN0221.jpg" rel="lightbox[711]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="DSCN0221" border="0" alt="DSCN0221" src="http://creco.net/wp-content/uploads/DSCN0221_thumb.jpg" width="244" height="184" /></a>&#160;<a href="http://creco.net/wp-content/uploads/DSCN0222.jpg" rel="lightbox[711]"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="DSCN0222" border="0" alt="DSCN0222" src="http://creco.net/wp-content/uploads/DSCN0222_thumb.jpg" width="244" height="184" /></a> <a href="http://creco.net/wp-content/uploads/DSCN0223.jpg" rel="lightbox[711]"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="DSCN0223" border="0" alt="DSCN0223" src="http://creco.net/wp-content/uploads/DSCN0223_thumb.jpg" width="244" height="184" /></a> </p>
<p>山崎川を渡って住宅街に迷い込むと突然異質な高架が目の前に飛び込んできた。   <br />普通の住宅の隣に切断面をさらけだすコンクリートの高架。誰がどうみても異質に感じるであろうが、目線を下に向ければ、どことも変わらない住宅街の雰囲気である。</p>
<p><a href="http://creco.net/wp-content/uploads/DSCN0224.jpg" rel="lightbox[711]"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="DSCN0224" border="0" alt="DSCN0224" src="http://creco.net/wp-content/uploads/DSCN0224_thumb.jpg" width="244" height="184" /></a> <a href="http://creco.net/wp-content/uploads/DSCN0225.jpg" rel="lightbox[711]"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="DSCN0225" border="0" alt="DSCN0225" src="http://creco.net/wp-content/uploads/DSCN0225_thumb.jpg" width="244" height="184" /></a> <a href="http://creco.net/wp-content/uploads/DSCN0226.jpg" rel="lightbox[711]"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="DSCN0226" border="0" alt="DSCN0226" src="http://creco.net/wp-content/uploads/DSCN0226_thumb.jpg" width="244" height="184" /></a></p>
<p>この高架。ずっと連続で続いてるわけではなく、下に道路が通る場所だけ切り取られている。高架が途切れては、次の高架の続きを探して追いかける。この繰り返しが何度も続く。</p>
<p>&#160;<a href="http://creco.net/wp-content/uploads/DSCN0227.jpg" rel="lightbox[711]"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="DSCN0227" border="0" alt="DSCN0227" src="http://creco.net/wp-content/uploads/DSCN0227_thumb.jpg" width="244" height="184" /></a> <a href="http://creco.net/wp-content/uploads/DSCN0228.jpg" rel="lightbox[711]"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="DSCN0228" border="0" alt="DSCN0228" src="http://creco.net/wp-content/uploads/DSCN0228_thumb.jpg" width="244" height="184" /></a> <a href="http://creco.net/wp-content/uploads/DSCN0229.jpg" rel="lightbox[711]"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="DSCN0229" border="0" alt="DSCN0229" src="http://creco.net/wp-content/uploads/DSCN0229_thumb.jpg" width="244" height="184" /></a><a href="http://creco.net/wp-content/uploads/DSCN0230.jpg" rel="lightbox[711]"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="DSCN0230" border="0" alt="DSCN0230" src="http://creco.net/wp-content/uploads/DSCN0230_thumb.jpg" width="244" height="184" /></a>&#160; </p>
<p>高架の使われ方は様々だ。ネットを張ってゴルフ練習場としているところ、倉庫や車庫として利用しているところなど。事務所として使っているところもあった。</p>
<p>ある高架の銘板には、着手：昭和45年12月1日、竣工：昭和46年11月26日と書かれていた。</p>
<p><a href="http://creco.net/wp-content/uploads/DSCN0231.jpg" rel="lightbox[711]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="DSCN0231" border="0" alt="DSCN0231" src="http://creco.net/wp-content/uploads/DSCN0231_thumb.jpg" width="244" height="184" /></a>&#160;&#160; <a href="http://creco.net/wp-content/uploads/DSCN0234.jpg" rel="lightbox[711]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="DSCN0234" border="0" alt="DSCN0234" src="http://creco.net/wp-content/uploads/DSCN0234_thumb.jpg" width="244" height="184" /></a> <a href="http://creco.net/wp-content/uploads/DSCN0235.jpg" rel="lightbox[711]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="DSCN0235" border="0" alt="DSCN0235" src="http://creco.net/wp-content/uploads/DSCN0235_thumb.jpg" width="244" height="184" /></a> </p>
<p>高架下は作業置き場として使われるところが多いようだが、高架に覆われる形で建物が建てられているところもある。</p>
<p><a href="http://creco.net/wp-content/uploads/DSCN0236.jpg" rel="lightbox[711]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="DSCN0236" border="0" alt="DSCN0236" src="http://creco.net/wp-content/uploads/DSCN0236_thumb.jpg" width="244" height="184" /></a> <a href="http://creco.net/wp-content/uploads/DSCN0237.jpg" rel="lightbox[711]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="DSCN0237" border="0" alt="DSCN0237" src="http://creco.net/wp-content/uploads/DSCN0237_thumb.jpg" width="244" height="184" /></a></p>
<p>上の2枚は国道247号に架かる歩道橋の上から撮影。</p>
<p>&#160;<a href="http://creco.net/wp-content/uploads/DSCN0238.jpg" rel="lightbox[711]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="DSCN0238" border="0" alt="DSCN0238" src="http://creco.net/wp-content/uploads/DSCN0238_thumb.jpg" width="244" height="184" /></a> <a href="http://creco.net/wp-content/uploads/DSCN0239.jpg" rel="lightbox[711]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="DSCN0239" border="0" alt="DSCN0239" src="http://creco.net/wp-content/uploads/DSCN0239_thumb.jpg" width="244" height="184" /></a> <a href="http://creco.net/wp-content/uploads/DSCN0240.jpg" rel="lightbox[711]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="DSCN0240" border="0" alt="DSCN0240" src="http://creco.net/wp-content/uploads/DSCN0240_thumb.jpg" width="244" height="184" /></a></p>
<h4>東海道新幹線と分かれて</h4>
<p>東海道新幹線と分かれるあたりからの高架は完全に撤去された様子。航空写真で確認するとわかるが、不自然な空き地からここを高架が通っていたんだろうと推測できる。</p>
<p>&#160;<a href="http://creco.net/wp-content/uploads/DSCN0241.jpg" rel="lightbox[711]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="DSCN0241" border="0" alt="DSCN0241" src="http://creco.net/wp-content/uploads/DSCN0241_thumb.jpg" width="244" height="184" /></a> <a href="http://creco.net/wp-content/uploads/DSCN0242.jpg" rel="lightbox[711]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="DSCN0242" border="0" alt="DSCN0242" src="http://creco.net/wp-content/uploads/DSCN0242_thumb.jpg" width="244" height="184" /></a> <a href="http://creco.net/wp-content/uploads/SANY0007.jpg" rel="lightbox[711]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="SANY0007" border="0" alt="SANY0007" src="http://creco.net/wp-content/uploads/SANY0007_thumb.jpg" width="244" height="184" /></a></p>
<p>曲線部があっただろう西友を通ってパチンコ店の駐車場から。パチンコ店の上を使われることのない高架が横断する。</p>
<p>&#160;<a href="http://creco.net/wp-content/uploads/SANY0008.jpg" rel="lightbox[711]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="SANY0008" border="0" alt="SANY0008" src="http://creco.net/wp-content/uploads/SANY0008_thumb.jpg" width="244" height="184" /></a> <a href="http://creco.net/wp-content/uploads/SANY0009.jpg" rel="lightbox[711]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="SANY0009" border="0" alt="SANY0009" src="http://creco.net/wp-content/uploads/SANY0009_thumb.jpg" width="244" height="184" /></a> <a href="http://creco.net/wp-content/uploads/SANY0010.jpg" rel="lightbox[711]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="SANY0010" border="0" alt="SANY0010" src="http://creco.net/wp-content/uploads/SANY0010_thumb.jpg" width="244" height="184" /></a> <a href="http://creco.net/wp-content/uploads/SANY0011.jpg" rel="lightbox[711]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="SANY0011" border="0" alt="SANY0011" src="http://creco.net/wp-content/uploads/SANY0011_thumb.jpg" width="244" height="184" /></a></p>
<p>まさに新しい建物が高架の隣に建築されているところ。ここに切断された高架と建物の違和感のある風景が生まれるのであろうか？</p>
<p>&#160;<a href="http://creco.net/wp-content/uploads/SANY0012.jpg" rel="lightbox[711]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="SANY0012" border="0" alt="SANY0012" src="http://creco.net/wp-content/uploads/SANY0012_thumb.jpg" width="244" height="184" /></a> <a href="http://creco.net/wp-content/uploads/SANY0013.jpg" rel="lightbox[711]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="SANY0013" border="0" alt="SANY0013" src="http://creco.net/wp-content/uploads/SANY0013_thumb.jpg" width="244" height="184" /></a> <a href="http://creco.net/wp-content/uploads/SANY0014.jpg" rel="lightbox[711]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="SANY0014" border="0" alt="SANY0014" src="http://creco.net/wp-content/uploads/SANY0014_thumb.jpg" width="244" height="184" /></a></p>
<p>中川運河を挟んだあたり。物流センターや市営住宅の奥にひっそりと高架が通っている。</p>
<p>&#160;<a href="http://creco.net/wp-content/uploads/SANY0016.jpg" rel="lightbox[711]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="SANY0016" border="0" alt="SANY0016" src="http://creco.net/wp-content/uploads/SANY0016_thumb.jpg" width="244" height="184" /></a> <a href="http://creco.net/wp-content/uploads/SANY0017.jpg" rel="lightbox[711]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="SANY0017" border="0" alt="SANY0017" src="http://creco.net/wp-content/uploads/SANY0017_thumb.jpg" width="244" height="184" /></a> <a href="http://creco.net/wp-content/uploads/SANY0018.jpg" rel="lightbox[711]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="SANY0018" border="0" alt="SANY0018" src="http://creco.net/wp-content/uploads/SANY0018_thumb.jpg" width="244" height="184" /></a> <a href="http://creco.net/wp-content/uploads/SANY0019.jpg" rel="lightbox[711]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="SANY0019" border="0" alt="SANY0019" src="http://creco.net/wp-content/uploads/SANY0019_thumb.jpg" width="244" height="184" /></a></p>
<p>上の２枚は環状線を挟んだ高架。</p>
<p>高架下を駐車場として使用されているところは多いが、ある板金工場では高架に上るスロープがあり、高架上を駐車場として利用している模様。航空写真から見える、高架上にある車がそれ。</p>
<h4>あおなみ線との分岐</h4>
<p><a href="http://creco.net/wp-content/uploads/SANY0020.jpg" rel="lightbox[711]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="SANY0020" border="0" alt="SANY0020" src="http://creco.net/wp-content/uploads/SANY0020_thumb.jpg" width="244" height="184" /></a> <a href="http://creco.net/wp-content/uploads/SANY0021.jpg" rel="lightbox[711]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="SANY0021" border="0" alt="SANY0021" src="http://creco.net/wp-content/uploads/SANY0021_thumb.jpg" width="244" height="184" /></a>&#160; <a href="http://creco.net/wp-content/uploads/SANY0023.jpg" rel="lightbox[711]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="SANY0023" border="0" alt="SANY0023" src="http://creco.net/wp-content/uploads/SANY0023_thumb.jpg" width="244" height="184" /></a> <a href="http://creco.net/wp-content/uploads/SANY0024.jpg" rel="lightbox[711]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="SANY0024" border="0" alt="SANY0024" src="http://creco.net/wp-content/uploads/SANY0024_thumb.jpg" width="244" height="184" /></a> </p>
<p>橋脚はあるが、高架が完全ではない状態。一部で未完成だったらしいけど、こういう分岐部分などがそうなのかな？</p>
<p>そして、コアラが描かれていたと思われる場所に近づくと。</p>
<h4>コアラ発見！謎が解けた！！</h4>
<p><a href="http://creco.net/wp-content/uploads/SANY0022.jpg" rel="lightbox[711]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="SANY0022" border="0" alt="SANY0022" src="http://creco.net/wp-content/uploads/SANY0022_thumb.jpg" width="244" height="184" /></a></p>
<p>なるほど。そういうわけね。ここまで自転車でたどり着いたご褒美にと、Google Mapsでも確認できる大きなコアラが出迎えてくれた。</p>
<p>早速、Twitterで顛末を報告し、すべての調査は終了。</p>
<h4>あおなみ線中島駅周辺</h4>
<p><a href="http://creco.net/wp-content/uploads/SANY0025.jpg" rel="lightbox[711]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="SANY0025" border="0" alt="SANY0025" src="http://creco.net/wp-content/uploads/SANY0025_thumb.jpg" width="244" height="184" /></a><a href="http://creco.net/wp-content/uploads/SANY0026.jpg" rel="lightbox[711]"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="SANY0026" border="0" alt="SANY0026" src="http://creco.net/wp-content/uploads/SANY0026_thumb.jpg" width="244" height="184" /></a> </p>
<p>さきほどの分岐からは、あおなみ線（旧西名古屋港線）と並行して名古屋駅手前の八田貨物駅（仮称）まで南方貨物線はあったことになっている。</p>
<p>中島駅周辺には南方高架線高架が利用されている場所があり、上の写真の2枚目でかなり古い高架橋が国道1号線に架かっていることがわかる。</p>
<h3>消えつつある南方貨物線</h3>
<blockquote><p>2002年（平成14年）より、約300億円をかけて新規建設区間の高架橋を撤去し、土地を売却することにした。しかしバブル経済崩壊の影響もあって、回収できる金額は約40億円程度にとどまることになった。</p>
<p><strong>（中略）</strong></p>
<p>2008年現在、高架橋の撤去は貸借関係のない部分から先に行われている（高架下を事務所、駐車場等に賃貸している部分はそのまま残っている場合が多い）。また、大高駅付近のように現在の東海道本線の高架橋と一体で建設されている部分については高架橋の撤去はされず、橋脚の耐震補強が行われている（ただし施行はJR東海ではなく所有者の鉄道建設・運輸施設整備支援機構による）。</p>
</blockquote>
<p>引用：<a href="http://ja.wikipedia.org/wiki/%E5%8D%97%E6%96%B9%E8%B2%A8%E7%89%A9%E7%B7%9A">南方貨物線 – Wikipedia</a> より</p>
<p>動画や写真を撮っている中、工事中の場面が多く目についた。大高駅付近の補強工事は別として、どれも撤去に向かうための工事であろう。</p>
<p>残して欲しいとは決して思わないが、今ある姿をたくさんの人の目に焼き付けて欲しいと思う。慣れ親しんだ景色が消えてから初めて、何かが奪われた喪失感に気づくことは多い。</p>
<p>今まで存在を知らなかった人も、興味を持ったら辿ってみるといいよ。距離もそんなに長くないし、徒歩でも巡れると思う。</p>
<h5>ひとりごと</h5>
<p>これ、自転車道にしてくれてたら通勤が便利なんだけどな･･･</p>
]]></content:encoded>
			<wfw:commentRss>http://creco.net/2009/07/05/nagoya_city_waste_lines_of_quotsouthern_freight_linequot_i_followed_the_bike_from_the_station_oobu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://creco.net/2009/07/05/nagoya_city_waste_lines_of_quotsouthern_freight_linequot_i_followed_the_bike_from_the_station_oobu/" />
	</item>
		<item>
		<title>iPhone OS 3.0 のブラウザから使えるようになったGPS現在位置情報をTwitterに投稿するJavaScript</title>
		<link>http://creco.net/2009/06/17/iphone-os-3_with_w3c_geolocation_api/</link>
		<comments>http://creco.net/2009/06/17/iphone-os-3_with_w3c_geolocation_api/#comments</comments>
		<pubDate>Wed, 17 Jun 2009 13:09:47 +0000</pubDate>
		<dc:creator>inagaki</dc:creator>
				<category><![CDATA[作ってみた]]></category>
		<category><![CDATA[Geolocation]]></category>
		<category><![CDATA[GPS]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[ジオポ]]></category>

		<guid isPermaLink="false">http://creco.net/2009/06/17/iphone-os-3_with_w3c_geolocation_api/</guid>
		<description><![CDATA[
Google Maps API V3 と Gears Geolocation API 使って Android のブラウザで現在位置情報を取得する &#124; クレコ では、Androidのブラウザで現在位置情報取得してTwit [...]]]></description>
			<content:encoded><![CDATA[<p><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="iphone" border="0" alt="iphone" src="http://creco.net/wp-content/uploads/iphone.jpg" width="192" height="365" /></p>
<p><a href="http://creco.net/2009/06/11/google_maps_api_v3_with_gears_geolocation_api/">Google Maps API V3 と Gears Geolocation API 使って Android のブラウザで現在位置情報を取得する | クレコ</a> では、Androidのブラウザで現在位置情報取得してTwitterにポストするというJavaScriptを作りました。</p>
<p>今回は、それのiPhone版です。要 iPhone OS 3.0以上なので、まだアップデートされてない方は本日のアップデートを楽しみに待ちましょう。</p>
<p> <span id="more-573"></span><br />
<h3>iPhone OS 3.0 のブラウザ Mobile Safari でGPS現在位置情報が取得できるようになった</h3>
<h4>Mobile Safari の W3C Geolocation API 対応</h4>
<p><a href="http://lab.cirius.co.jp/blog/2009/06/-iphone-safari.php">ついに iPhone Safari ブラウザから位置情報を取得できるようになります &#8211; Cirius Lab. ブログ</a> から知ったのですが、iPhone OS 3.0 に標準搭載されているブラウザ Mobile Safari が W3C の Geolocation API に対応して、ブラウザから JavaScript を用いることによって、GPSの現在位置情報を取得することが可能になりました。</p>
<p>これによって、いままでネイティブアプリでしかできなかったことが、簡単に敷居なく実装することが可能です。</p>
<h4>W3CのGeolocation API って？</h4>
<p><a href="http://www.w3.org/TR/geolocation-API/">Geolocation API Specification</a>     <br />W3Cで標準化を進めている、位置情報を取得するためのAPI使用のことです。</p>
<p>位置情報を取得するメソッドには、<strong>getCurrentPosition()</strong> と <strong>watchPosition()</strong> があり、前者は現在の位置情報を取得するメソッド、後者は連続した位置情報を取得するメソッドとなっています。</p>
<p>つまり、従来の携帯電話ではできなかった、連続した位置情報を扱うGPSトラッキングなどもJavaScriptを記述するだけで実現できるのです！</p>
<h3>実際に現在位置情報をTwitterへポストするJavaScriptを作ってみた</h3>
<h4>JavaScript ソース</h4>
<pre class="csharpcode">&lt;html&gt;
&lt;head&gt;
&lt;meta name=<span class="str">&quot;viewport&quot;</span> content=<span class="str">&quot;initial-scale=1.0, user-scalable=no&quot;</span> /&gt;
&lt;meta http-equiv=<span class="str">&quot;content-type&quot;</span> content=<span class="str">&quot;text/html; charset=UTF-8&quot;</span>/&gt;
&lt;title&gt;GeoPo : Mobile Safari&lt;/title&gt;
&lt;script type=<span class="str">&quot;text/javascript&quot;</span> src=<span class="str">&quot;http://maps.google.com/maps/api/js?sensor=true&quot;</span>&gt;&lt;/script&gt;
&lt;script type=<span class="str">&quot;text/javascript&quot;</span>&gt;

<span class="rem">/*</span>
<span class="rem"> * GeoPo Encode in JavaScript</span>
<span class="rem"> * @author : Shintaro Inagaki</span>
<span class="rem"> * @param location (Object)</span>
<span class="rem"> * @return geopo (String)</span>
<span class="rem"> */</span>
<span class="kwrd">function</span> geopoEncode(location){
    <span class="rem">// 64characters (number + big and small letter + hyphen + underscore)</span>
    <span class="kwrd">var</span> chars = <span class="str">&quot;0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_&quot;</span>;

    <span class="kwrd">var</span> geopo = <span class="kwrd">new</span> String();
    <span class="kwrd">var</span> lat = parseFloat(location.lat); <span class="rem">// Parse as float</span>
    <span class="kwrd">var</span> lng = parseFloat(location.lng); <span class="rem">// Parse as float</span>
    <span class="kwrd">var</span> scale = parseInt(location.scale); <span class="rem">// Parse as int</span>

    <span class="rem">// Change a degree measure to a decimal number</span>
    lat = (lat + 90) / 180 * Math.pow(8, 10);
    lng = (lng + 180) / 360 * Math.pow(8, 10);

    <span class="rem">// Compute a GeoPo code from head and concatenate</span>
    <span class="kwrd">for</span>(<span class="kwrd">var</span> i = 0; i &lt; scale; i++) {
        geopo = geopo + chars.substr(Math.floor(lat / Math.pow(8, 9 - i) % 8) + Math.floor(lng / Math.pow(8, 9 - i) % 8) * 8, 1);
    }
    <span class="kwrd">return</span> geopo;
}

<span class="kwrd">var</span> lat;
<span class="kwrd">var</span> lng;
<span class="kwrd">var</span> latLng;
<span class="kwrd">var</span> geocoder = <span class="kwrd">new</span> google.maps.Geocoder();
<span class="kwrd">var</span> map;
<span class="kwrd">var</span> infowindow = <span class="kwrd">new</span> google.maps.InfoWindow();
<span class="kwrd">var</span> marker;
<span class="kwrd">var</span> watchId;

<span class="kwrd">function</span> update(position) {
    lat = position.coords.latitude;
    lng = position.coords.longitude;
    latLng = <span class="kwrd">new</span> google.maps.LatLng(lat,lng);

    <span class="kwrd">if</span>(!map){
        <span class="kwrd">var</span> options = {
            zoom: 15,
            center: latLng,
            mapTypeId: google.maps.MapTypeId.ROADMAP,
            scaleControl: <span class="kwrd">true</span>,
        }
        map = <span class="kwrd">new</span> google.maps.Map(document.getElementById(<span class="str">&quot;map_canvas&quot;</span>), options);
    } <span class="kwrd">else</span>{
        map.set_center(latLng);
    }

    <span class="kwrd">if</span>(!marker){
        marker = <span class="kwrd">new</span> google.maps.Marker({
            position: latLng,
            map: map,
            title: <span class="str">&quot;現在地&quot;</span>,
        });
        google.maps.<span class="kwrd">event</span>.addListener(marker, <span class="str">'click'</span>, <span class="kwrd">function</span>() {
            stopUpdate()
            geocoding();
        });
        google.maps.<span class="kwrd">event</span>.addListener(infowindow, <span class="str">'closeclick'</span>, <span class="kwrd">function</span>() {
            startUpdate()
        });
    } <span class="kwrd">else</span>{
        marker.set_position(latLng);
    }
}

<span class="kwrd">function</span> geocoding() {
    <span class="rem">// geopo</span>
    <span class="kwrd">var</span> location = <span class="kwrd">new</span> Object();
    location.lat = lat;
    location.lng = lng;
    location.scale = 7;
    <span class="kwrd">var</span> geopo = geopoEncode(location);

    geocoder.geocode({<span class="str">'latLng'</span>: latLng}, <span class="kwrd">function</span>(results, status) {
        <span class="kwrd">if</span> (status == google.maps.GeocoderStatus.OK) {
            <span class="kwrd">var</span> geocodeAddress;
            <span class="kwrd">for</span>(i=1; i&lt;results.length; i++){
                <span class="kwrd">if</span> (results[i].types.length &gt;= 2 &amp;&amp; results[i].types[1] == <span class="str">&quot;political&quot;</span>) {
                    <span class="kwrd">if</span>(results[i].formatted_address.indexOf(<span class="str">&quot;日本&quot;</span>) != -1){
                        geocodeAddress = results[i].formatted_address.substring(2);
                    }<span class="kwrd">else</span>{
                        geocodeAddress = results[i].formatted_address;
                    }
                    <span class="kwrd">break</span>;
                }
            }
            <span class="kwrd">if</span>(geocodeAddress){
                infowindow.set_content(<span class="str">'&lt;strong&gt;現在地：&lt;/strong&gt;&lt;br /&gt;&lt;span style=&quot;font-size:80%&quot;&gt;'</span> + geocodeAddress + <span class="str">'&lt;/span&gt;&lt;hr /&gt;&lt;a href=&quot;http://twitter.com/home?status='</span> + encodeURIComponent(<span class="str">' L:'</span> + geocodeAddress + <span class="str">' http://geopo.at/'</span> + geopo) + <span class="str">'&quot; target=&quot;twitter&quot;&gt;&lt;img src=&quot;icon_twitter.gif&quot; width=&quot;14&quot; height=&quot;16&quot; border=&quot;0&quot; align=&quot;bottom&quot; hspace=&quot;5&quot; /&gt;TwitterにPOSTする&lt;/a&gt;'</span>);
                infowindow.open(map, marker);
            } <span class="kwrd">else</span> {
                alert(<span class="str">&quot;現在地が取得できませんでした＞＜&quot;</span>);
            }
        } <span class="kwrd">else</span> {
            alert(<span class="str">&quot;Geocoder failed due to: &quot;</span> + status);
        }
    });
}

<span class="kwrd">function</span> startUpdate() {
    watchId = navigator.geolocation.watchPosition(update);
}

<span class="kwrd">function</span> stopUpdate() {
    navigator.geolocation.clearWatch(watchId);
}

startUpdate();

&lt;/script&gt;
&lt;/head&gt;
&lt;body style=<span class="str">&quot;margin:0px; padding:0px;&quot;</span>&gt;
&lt;div id=<span class="str">&quot;map_canvas&quot;</span> style=<span class="str">&quot;width: 100%; height: 100%;&quot;</span>&gt;&lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>
<h4>前回の数倍丁寧に解説<br />
<style type="text/css">
<p>.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
</h4>
<p>前回のAndroid版では説明が省略されすぎて、説明になってなかった反省を踏まえて丁寧に解説。</p>
<h5>HTML</h5>
<p>前回と同様、<a href="http://code.google.com/intl/ja/apis/maps/documentation/v3/">Google Maps API V3</a> を使います。</p>
<pre class="csharpcode">&lt;meta name=<span class="str">&quot;viewport&quot;</span> content=<span class="str">&quot;initial-scale=1.0, user-scalable=no&quot;</span> /&gt;</pre>
<style type="text/css">
<p>.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
<p>これは、iPhoneのためのmeta要素です。地図上でピンチイン、ピンチアウトを使った拡大縮小できるように、<strong>user-scalable</strong>はnoにして、HTMLでの拡大縮小はできなくしてます。</p>
<pre class="csharpcode">&lt;script type=<span class="str">&quot;text/javascript&quot;</span> src=<span class="str">&quot;http://maps.google.com/maps/api/js?sensor=true&quot;</span>&gt;&lt;/script&gt;</pre>
<p>Google Maps API V3のJavaScript読み込みですが、位置情報を取得できるデバイスでは<strong>sensor</strong>パラメータをtrueにします。</p>
<pre class="csharpcode">&lt;body style=<span class="str">&quot;margin:0px; padding:0px;&quot;</span>&gt;
&lt;div id=<span class="str">&quot;map_canvas&quot;</span> style=<span class="str">&quot;width: 100%; height: 100%;&quot;</span>&gt;&lt;/div&gt;
&lt;/body&gt;</pre>
<p>divタグで地図を表示する領域を作成、めいっぱいにするため、縦横100%にし、bodyタグでは余白をなしにするCSS。</p>
<p>うん、丁寧な説明ですね。</p>
<h5>GeoPoエンコードライブラリ</h5>
<p><a href="http://geopo.at/">ジオポ &#8211; 位置情報を短縮して使いやすく</a></p>
<p><strong>GeoPo</strong>（ジオポ）というのは、私が作成したWebサービスで。</p>
<blockquote>
<p>ジオポは位置情報を表す緯度・経度を短縮したURLに変換し、受け取る側のブラウザに合わせた地図を表示するウェブサービスで、会員登録なしに誰でも無料で利用できます。</p>
</blockquote>
<p>という、Twitterに位置情報を付加したいときに使うといいよ！的なサービス。詳しくは、<a href="http://geopo.at/intl/ja/help/feature.html">ジオポの特徴</a> や <a href="http://geopo.at/intl/ja/developer/">開発者向け情報</a> を見てね。よかったら、実装してください。</p>
<p>ソース上では、</p>
<pre class="csharpcode"><span class="rem">/*</span>
<span class="rem"> * GeoPo Encode in JavaScript</span>
<span class="rem"> * @author : Shintaro Inagaki</span>
<span class="rem"> * @param location (Object)</span>
<span class="rem"> * @return geopo (String)</span>
<span class="rem"> */</span>
<span class="kwrd">function</span> geopoEncode(location){
    <span class="rem">// 64characters (number + big and small letter + hyphen + underscore)</span>
    <span class="kwrd">var</span> chars = <span class="str">&quot;0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_&quot;</span>;

    <span class="kwrd">var</span> geopo = <span class="kwrd">new</span> String();
    <span class="kwrd">var</span> lat = parseFloat(location.lat); <span class="rem">// Parse as float</span>
    <span class="kwrd">var</span> lng = parseFloat(location.lng); <span class="rem">// Parse as float</span>
    <span class="kwrd">var</span> scale = parseInt(location.scale); <span class="rem">// Parse as int</span>

    <span class="rem">// Change a degree measure to a decimal number</span>
    lat = (lat + 90) / 180 * Math.pow(8, 10);
    lng = (lng + 180) / 360 * Math.pow(8, 10);

    <span class="rem">// Compute a GeoPo code from head and concatenate</span>
    <span class="kwrd">for</span>(<span class="kwrd">var</span> i = 0; i &lt; scale; i++) {
        geopo = geopo + chars.substr(Math.floor(lat / Math.pow(8, 9 - i) % 8) + Math.floor(lng / Math.pow(8, 9 - i) % 8) * 8, 1);
    }
    <span class="kwrd">return</span> geopo;
}
<style type="text/css">.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
</style>
</pre>
<p>という GeoPoエンコード ライブラリ部分と、</p>
<pre class="csharpcode">    <span class="rem">// geopo</span>
    <span class="kwrd">var</span> location = <span class="kwrd">new</span> Object();
    location.lat = lat;
    location.lng = lng;
    location.scale = 7;
    <span class="kwrd">var</span> geopo = geopoEncode(location);</pre>
<p>呼び出し部分。</p>
<p>lat：緯度、lng：経度、scale：縮尺を渡して、geopoというジオポコードの文字列が返ってくる。</p>
<h5>位置情報の取得制御<br />
<style type="text/css">
<p>.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
</h5>
<p>W3CのGeolocation APIを使って、現在位置情報を取得する。</p>
<pre class="csharpcode"><span class="kwrd">function</span> startUpdate() {
    watchId = navigator.geolocation.watchPosition(update);
}

<span class="kwrd">function</span> stopUpdate() {
    navigator.geolocation.clearWatch(watchId);
}

startUpdate();</pre>
<p>ここでは、watchPosition() を使う。というのも、iPhoneでは getCurrentPosition() がうまく動かなかった。また、最初の1回だけの位置情報取得では位置情報の精度がかなり荒いので、連続して取得し精度が高くなった段階で、その位置情報を採用するという形にしたかったというのもある。</p>
<p>ここで、startUpdate() と stopUpdate() とわざわざ関数にしているのは、後々に取得動作の制御したいためです。</p>
<h5>位置情報の加工と地図の表示</h5>
<p>位置情報が取得できたときに呼ばれる update() では、位置情報を加工して、地図を表示するようにします。</p>
<pre class="csharpcode"><span class="kwrd">var</span> lat;
<span class="kwrd">var</span> lng;
<span class="kwrd">var</span> latLng;
<span class="kwrd">var</span> geocoder = <span class="kwrd">new</span> google.maps.Geocoder();
<span class="kwrd">var</span> map;
<span class="kwrd">var</span> infowindow = <span class="kwrd">new</span> google.maps.InfoWindow();
<span class="kwrd">var</span> marker;
<span class="kwrd">var</span> watchId;

<span class="kwrd">function</span> update(position) {
    lat = position.coords.latitude;
    lng = position.coords.longitude;
    latLng = <span class="kwrd">new</span> google.maps.LatLng(lat,lng);

    <span class="kwrd">if</span>(!map){
        <span class="kwrd">var</span> options = {
            zoom: 15,
            center: latLng,
            mapTypeId: google.maps.MapTypeId.ROADMAP,
            scaleControl: <span class="kwrd">true</span>,
        }
        map = <span class="kwrd">new</span> google.maps.Map(document.getElementById(<span class="str">&quot;map_canvas&quot;</span>), options);
    } <span class="kwrd">else</span>{
        map.set_center(latLng);
    }

    <span class="kwrd">if</span>(!marker){
        marker = <span class="kwrd">new</span> google.maps.Marker({
            position: latLng,
            map: map,
            title: <span class="str">&quot;現在地&quot;</span>,
        });
        google.maps.<span class="kwrd">event</span>.addListener(marker, <span class="str">'click'</span>, <span class="kwrd">function</span>() {
            stopUpdate()
            geocoding();
        });
        google.maps.<span class="kwrd">event</span>.addListener(infowindow, <span class="str">'closeclick'</span>, <span class="kwrd">function</span>() {
            startUpdate()
        });
    } <span class="kwrd">else</span>{
        marker.set_position(latLng);
    }
}</pre>
<style type="text/css">
<p>.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
<p>position.coords.latitude には緯度、 position.coords.longitude には経度</p>
<blockquote>
<pre>  interface <dfn>Coordinates</dfn> {
    readonly attribute double <a href="http://www.w3.org/TR/geolocation-API/#lat">latitude</a>;
    readonly attribute double <a href="http://www.w3.org/TR/geolocation-API/#lon">longitude</a>;
    readonly attribute double <a href="http://www.w3.org/TR/geolocation-API/#altitude">altitude</a>;
    readonly attribute double <a href="http://www.w3.org/TR/geolocation-API/#accuracy">accuracy</a>;
    readonly attribute double <a href="http://www.w3.org/TR/geolocation-API/#altitude-accuracy">altitudeAccuracy</a>;
    readonly attribute double <a href="http://www.w3.org/TR/geolocation-API/#heading">heading</a>;
    readonly attribute double <a href="http://www.w3.org/TR/geolocation-API/#speed">speed</a>;
  };</pre>
</blockquote>
<p>他にも、altitude：高度、accuracy：水平方向の精度、altitudeAccuracy：垂直方向の精度、heading：方向、speed：速度 といった属性があります。iPhone 3G S では、コンパスによって方向なども取得できるかもしれません。iPhone 3Gでは、方向には null値、速度には 0 が入るようです。</p>
<p>map や marker は、初回はインスタンスを生成し、2回目以降の呼び出しでは地図は中心地への移動、マーカーは位置情報取得値への書き換えを行います。</p>
<p>marker の初回で、イベントリスナーを作成。上のイベントは、マーカーをクリックしたら位置情報取得動作を止めて情報ウィンドウ（ geocoding() で現在位置の住所やTwitterへポストするアンカーを記載）の表示、下のイベントは、情報ウィンドウを閉じたら位置情報取得動作の再開。</p>
<p>ここで、位置情報の取得動作を操作してるのには次の理由があります。</p>
<ol>
<li>情報ウィンドウが表示されるときに、位置情報が更新されて地図表示が移動されたりすると使い勝手が悪い。 </li>
<li>位置情報の取得のたびに情報ウィンドウの中身を更新すると大変（逆ジオコーディングとか）。 </li>
</ol>
<h5>情報ウィンドウの更新（逆ジオコーディング）</h5>
<p>現在位置の住所取得（逆ジオコーディング）とジオポコードの作成、Twitterへポストするためのアンカーを情報ウィンドウの中に書き込むための処理を geocoding() でやります。</p>
<pre class="csharpcode"><span class="kwrd">function</span> geocoding() {
    <span class="rem">// geopo</span>
    <span class="kwrd">var</span> location = <span class="kwrd">new</span> Object();
    location.lat = lat;
    location.lng = lng;
    location.scale = 7;
    <span class="kwrd">var</span> geopo = geopoEncode(location);

    geocoder.geocode({<span class="str">'latLng'</span>: latLng}, <span class="kwrd">function</span>(results, status) {
        <span class="kwrd">if</span> (status == google.maps.GeocoderStatus.OK) {
            <span class="kwrd">var</span> geocodeAddress;
            <span class="kwrd">for</span>(i=1; i&lt;results.length; i++){
                <span class="kwrd">if</span> (results[i].types.length &gt;= 2 &amp;&amp; results[i].types[1] == <span class="str">&quot;political&quot;</span>) {
                    <span class="kwrd">if</span>(results[i].formatted_address.indexOf(<span class="str">&quot;日本&quot;</span>) != -1){
                        geocodeAddress = results[i].formatted_address.substring(2);
                    }<span class="kwrd">else</span>{
                        geocodeAddress = results[i].formatted_address;
                    }
                    <span class="kwrd">break</span>;
                }
            }
            <span class="kwrd">if</span>(geocodeAddress){
                infowindow.set_content(<span class="str">'&lt;strong&gt;現在地：&lt;/strong&gt;&lt;br /&gt;&lt;span style=&quot;font-size:80%&quot;&gt;'</span> + geocodeAddress + <span class="str">'&lt;/span&gt;&lt;hr /&gt;&lt;a href=&quot;http://twitter.com/home?status='</span> + encodeURIComponent(<span class="str">' L:'</span> + geocodeAddress + <span class="str">' http://geopo.at/'</span> + geopo) + <span class="str">'&quot; target=&quot;twitter&quot;&gt;&lt;img src=&quot;icon_twitter.gif&quot; width=&quot;14&quot; height=&quot;16&quot; border=&quot;0&quot; align=&quot;bottom&quot; hspace=&quot;5&quot; /&gt;TwitterにPOSTする&lt;/a&gt;'</span>);
                infowindow.open(map, marker);
            } <span class="kwrd">else</span> {
                alert(<span class="str">&quot;現在地が取得できませんでした＞＜&quot;</span>);
            }
        } <span class="kwrd">else</span> {
            alert(<span class="str">&quot;Geocoder failed due to: &quot;</span> + status);
        }
    });
}</pre>
<p>前回のAndroid版とほぼ同じです（多少変えたってこと）。</p>
<p>逆ジオコーディングした結果で、郵便番号や道路名ってのをフィルタリングし、formatted_address には「日本」という文字が入るのが気にくわないので、「日本」を取り除いてやる。という内容。</p>
<h4>実装して iPhone OS 3.0 で動作させてみる</h4>
<p>実際に動作させてみる。</p>
<p><a href="http://inagaki.co.uk/test/safari.html">GeoPo : Mobile Safari</a> ＠inagaki.co.uk に作ったものをおいたので、自由に試してみてください。ソースコードも自由に使ってください。</p>
<h5>iPhoneでの位置情報利用の確認</h5>
<p><a href="http://creco.net/wp-content/uploads/1.jpg" rel="lightbox[573]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="1" border="0" alt="1" src="http://creco.net/wp-content/uploads/1_thumb.jpg" width="162" height="242" /></a> <a href="http://creco.net/wp-content/uploads/2.jpg" rel="lightbox[573]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="2" border="0" alt="2" src="http://creco.net/wp-content/uploads/2_thumb.jpg" width="162" height="242" /></a> </p>
<p>初回のみSafariでの位置情報利用と、ドメイン単位での位置情報利用の確認があります。<br />
  <br />#これ、ドメイン単位の位置情報利用確認ってリセットする方法あるんですかね？</p>
<h5>地図と情報ウィンドウの表示</h5>
<p><a href="http://creco.net/wp-content/uploads/3.jpg" rel="lightbox[573]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="3" border="0" alt="3" src="http://creco.net/wp-content/uploads/3_thumb.jpg" width="162" height="242" /></a> <a href="http://creco.net/wp-content/uploads/4.jpg" rel="lightbox[573]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="4" border="0" alt="4" src="http://creco.net/wp-content/uploads/4_thumb.jpg" width="162" height="242" /></a> </p>
<p>ブックマークなどからURLを読み出せば、そのまま現在位置を取得して地図を表示するという一連の動作ができます。</p>
<p>そして、この地図はスマートフォンに最適化された Google Maps API V3 で作成していますので、まるでネイティブアプリのような感覚でシームレスなスクロールが可能。</p>
<p>マーカーをクリックすることで、情報ウィンドウを表示。このときに、位置情報取得動作をストップさせて、逆ジオコーディングを行い住所を取得。</p>
<p>住所表示の下にある、アンカーをクリックすることで別ウィンドウが立ち上がりTwitterへ現在地情報のついたポストが行えます。</p>
<p>情報ウィンドウの右上の×印をクリックすれば、情報ウィンドウは非表示になり、位置情報取得取得動作を再開させます。現在地が移動した場合はリロードしなくても、情報ウィンドウの開閉だけで位置情報取得のコントロールができます。</p>
<h5>Twitterへ現在地情報の投稿</h5>
<p><a href="http://creco.net/wp-content/uploads/5.jpg" rel="lightbox[573]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="5" border="0" alt="5" src="http://creco.net/wp-content/uploads/5_thumb.jpg" width="162" height="242" /></a> <a href="http://creco.net/wp-content/uploads/6.jpg" rel="lightbox[573]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="6" border="0" alt="6" src="http://creco.net/wp-content/uploads/6_thumb.jpg" width="162" height="242" /></a> </p>
<p>アンカーをクリックするとTwitterの投稿のために新しいウィンドウが立ち上がります。このときに、Twitterへログインされてない場合は、ログイン画面となるので、ログインを行ってください。</p>
<p>また、iPhoneからTwitterを使用する場合、デフォルトではモバイル版の画面表示となっています。しかし、モバイル版の画面表示ですと、アンカーをクリックした際に伝える住所やジオポURLが反映されないので、ページ下部にある「スタンダード版で見る」をクリックし、スタンダード版でTwitterを表示させてください。<br />
  <br />#これ、回避方法を知ってる方いましたら教えてください</p>
<p>スタンダード版では、いまなにしてる？のテキストエリアの中に、住所とジオポURLが反映されている状態となります。そこから、メッセージを加えたり、<a href="http://geopo.at/intl/ja/help/feature.html">ジオポURLの縮尺精度変更操作</a>を行うことができます。</p>
<h3>感想、まとまらないまとめ</h3>
<p>連続した位置情報が取得できるのは熱いですね！！でも、iPhoneも熱くなります ＞＜<br />
  <br />位置情報を連続取得させるのは非常にバッテリーを消費します、ほどほどにしましょう。</p>
<p>今までGPSロガーなどがないとGPSトラッキングできなかったのですが、それがJavaScriptだけで実現できるのは魅力的です。私もiPhone単体でできるGPSトラッキングサービスを早速作りたいと思っていますよ。</p>
<p>また、すでにあるGPSトラッキングサービスでも簡単（上のソースを数行いじるだけ）に実現できるので、<a href="http://imakoko-gps.appspot.com/">今ココなう！(β)</a> などの人気のあるサービスが対応すれば一気に対応端末が増えるようになるんじゃないでしょうか？位置情報を使うことの面白さがいろんな人に伝わってくれるとうれしいですね。</p>
]]></content:encoded>
			<wfw:commentRss>http://creco.net/2009/06/17/iphone-os-3_with_w3c_geolocation_api/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://creco.net/2009/06/17/iphone-os-3_with_w3c_geolocation_api/" />
	</item>
		<item>
		<title>投稿スラッグをGoogle AJAX Language APIで英訳するWordpressのプラグインを作った</title>
		<link>http://creco.net/2009/06/14/made_a_wordpress_plugin_that_translate_post-slug_with_google_ajax_language_api/</link>
		<comments>http://creco.net/2009/06/14/made_a_wordpress_plugin_that_translate_post-slug_with_google_ajax_language_api/#comments</comments>
		<pubDate>Sat, 13 Jun 2009 17:54:58 +0000</pubDate>
		<dc:creator>inagaki</dc:creator>
				<category><![CDATA[作ってみた]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://creco.net/?p=553</guid>
		<description><![CDATA[ 
それは、どういうものですか？
WordpressのURLとして使われる投稿スラッグ。これは、標準だと投稿タイトルをURLエンコードしたものが自動的に使われて、やけに長くなるしかっこ悪い。
んで、ぼくは投稿タイトルを逐 [...]]]></description>
			<content:encoded><![CDATA[<p><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="投稿スラッグをGoogle AJAX Language APIで英訳するWordpressのプラグインを作った" border="0" alt="投稿スラッグをGoogle AJAX Language APIで英訳するWordpressのプラグインを作った" src="http://creco.net/wp-content/uploads/Ci090614030747.jpg" width="440" height="257" /> </p>
<h4>それは、どういうものですか？</h4>
<p>WordpressのURLとして使われる<strong>投稿スラッグ</strong>。これは、標準だと投稿タイトルをURLエンコードしたものが自動的に使われて、やけに長くなるしかっこ悪い。</p>
<p>んで、ぼくは投稿タイトルを逐一英訳して投稿スラッグとして入力しているんだけど、ボキャ貧なので通じるかどうかわからない怪しげな英語になってしまう ＞＜</p>
<p>そこで、自動的に投稿タイトルを英訳してくれて、それが投稿スラッグになってくれると素敵だなと思い、Wordpressのプラグインを作ってみました。</p>
<p> <span id="more-553"></span><br />
<h4>インストール方法と使い方</h4>
<pre class="csharpcode">&lt;?php
<span class="rem">/*</span>
<span class="rem">Plugin Name: Slug translate J to E </span>
<span class="rem">Plugin URI: http://creco.net/</span>
<span class="rem">Description: 投稿タイトルの日本語をそのまま投稿スラッグにするのではなく、Google AJAX Language APIで英訳したものを投稿スラッグにします</span>
<span class="rem">Author: Shintaro Inagaki</span>
<span class="rem">Version: 1.0</span>
<span class="rem">Author URI: http://creco.net/</span>
<span class="rem">*/</span>

function slug_translate_j_to_e($title) {

    $translateApiUrl = <span class="str">'http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&amp;q='</span>.urlencode($title).<span class="str">'&amp;langpair=ja%7Cen'</span>;
    $response = file_get_contents($translateApiUrl);  

    $parsedJson = json_decode($response);

    <span class="kwrd">if</span>(isset($parsedJson-&gt;responseData-&gt;translatedText)) {
        $title = $parsedJson-&gt;responseData-&gt;translatedText;
    }
    $title = strtolower($title);
    $title = str_replace(<span class="str">' '</span>, <span class="str">'_'</span>, $title);
    $title = preg_replace(<span class="str">'/[^%a-z0-9_-]/'</span>, <span class="str">''</span>, $title);

    <span class="kwrd">return</span> $title;
}

add_filter(<span class="str">'sanitize_title'</span>, <span class="str">'slug_translate_j_to_e'</span>, 9);

?&gt;</pre>
<p>上のコードを適当なファイルに保存（ slug-translate-j-to-e.php とか適当な名前つけてね）して、Wordpressのプラグインフォルダ（ /wp-content/plugins/ 以下）にアップロードすれば、プラグイン管理画面から「使用する」が選べるようになります。</p>
<p>後は、普通に投稿すれば自動的に投稿タイトルを翻訳したものが投稿スラッグとして使われてると思います。</p>
<p>翻訳を確認したいという場合は、「下書きとして保存」とし、その後に投稿スラッグを編集すれば、半手動で利用できるかと。</p>
<h4>やっていること<br />
<style type="text/css">
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
</h4>
<p><a href="http://code.google.com/intl/ja/apis/ajaxlanguage/documentation/reference.html">Translation API のクラス リファレンス &#8211; Google AJAX Language API &#8211; Google Code</a> をRESTで使用しています。</p>
<p>タイトルをAPIに投げて、JSONで帰ってきたものを処理。</p>
<p>処理は、上から順番に、大文字を小文字にする → スペースをアンダースコアに変換する → 小文字英数字とハイフン、アンダースコア以外の文字を削除する といった内容。</p>
<h4>注意点</h4>
<p>Google の翻訳は期待しないほうがいい。</p>
]]></content:encoded>
			<wfw:commentRss>http://creco.net/2009/06/14/made_a_wordpress_plugin_that_translate_post-slug_with_google_ajax_language_api/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://creco.net/2009/06/14/made_a_wordpress_plugin_that_translate_post-slug_with_google_ajax_language_api/" />
	</item>
		<item>
		<title>Google Maps API V3 と Gears Geolocation API 使って Android のブラウザで現在位置情報を取得する</title>
		<link>http://creco.net/2009/06/11/google_maps_api_v3_with_gears_geolocation_api/</link>
		<comments>http://creco.net/2009/06/11/google_maps_api_v3_with_gears_geolocation_api/#comments</comments>
		<pubDate>Thu, 11 Jun 2009 07:49:48 +0000</pubDate>
		<dc:creator>inagaki</dc:creator>
				<category><![CDATA[作ってみた]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[Geolocation]]></category>
		<category><![CDATA[Google Maps]]></category>
		<category><![CDATA[GPS]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[ジオポ]]></category>

		<guid isPermaLink="false">http://creco.net/2009/06/11/google_maps_api_v3_with_gears_geolocation_api/</guid>
		<description><![CDATA[先日のGoogle Developer Day 2009 にて、GoogleさんからAndroid携帯である GDD Phone をいただいたので、早速Androidライフを楽しんでる毎日です。素敵なオモチャをありがとう [...]]]></description>
			<content:encoded><![CDATA[<p>先日の<a href="http://code.google.com/intl/ja/events/developerday/2009/home.html">Google Developer Day 2009</a> にて、GoogleさんからAndroid携帯である GDD Phone をいただいたので、早速Androidライフを楽しんでる毎日です。素敵なオモチャをありがとうございます！</p>
<p>ネイティブアプリの地図でGoogle Latitudeをいぢりたおしたりしてるんですが、地図大好きっ子としては自分で位置情報を活用したいところ。</p>
<p>そんな折、ジークルーの佐々木さんから</p>
<blockquote><p>@<a href="http://twitter.com/shinagaki">shinagaki</a> 自分が今日どこを歩いたかが履歴でMapに表示されるAndroidアプリって知らない？</p>
</blockquote>
<p>って遠まわしに作れって言われた気がしたので、Android界隈の位置情報について調べてみる。</p>
<p> <span id="more-535"></span>
</p>
<h3>Androidで位置情報を取得するにはどうすんの？</h3>
<p>調べてみたけど、ネイティブアプリでの情報しかなくて、実装が楽にできそうなブラウザでのAPI動作状況についてのサンプル例がなかった。</p>
<p>ネイティブアプリでは、<a href="http://code.google.com/intl/ja/android/add-ons/google-apis/maps-overview.html">Maps External Library &#8211; Google Projects for Android</a> に情報あるから、ネイティブアプリ作る人は見るといいよ。僕も、あとで見る。</p>
<p>Androidの搭載しているブラウザに、iPhone OS 3.0 のSafariブラウザみたくW3CのGeolocation APIをサポートして、ブラウザからGPS位置情報を取得できることを期待してたんですが、結果から言うとダメ。</p>
<p>ですが！Androidのブラウザ「Chrome Lite」はGoogle Gearsを搭載しているため、ひょっとしたらGearsのGeolocation API使えるかも！？ と思って実験。</p>
<h4>Google Gears での位置情報取得</h4>
<p><a href="http://code.google.com/intl/ja/apis/gears/api_geolocation.html">Geolocation API &#8211; Gears API &#8211; Google Code</a></p>
<p>サンプルのとおりに、 <strong>gears_init.js</strong> をおいて、</p>
<pre class="csharpcode">&lt;script type=<span class="str">&quot;text/javascript&quot;</span> src=<span class="str">&quot;gears_init.js&quot;</span>&gt;&lt;/script&gt;
&lt;script type=<span class="str">&quot;text/javascript&quot;</span>&gt;
<span class="kwrd">var</span> geo = google.gears.factory.create(<span class="str">'beta.geolocation'</span>);

<span class="kwrd">function</span> updatePosition(position) {
  alert(<span class="str">'Current lat/lon is: '</span> + position.latitude + <span class="str">','</span> + position.longitude);
}

<span class="kwrd">function</span> handleError(positionError) {
  alert(<span class="str">'Attempt to get location failed: '</span> + positionError.message);
}

geo.getCurrentPosition(updatePosition, handleError);
&lt;/script&gt;</pre>
<p>と書くだけで、位置情報取得できた！簡単。</p>
<h4>Google Maps API V3 を使って地図表示</h4>
<p>それに、Google Maps API V3 を組み合わせる。<br />
<style type="text/css">
<p>.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
</p>
<p><a href="http://code.google.com/intl/ja/apis/maps/documentation/v3/">The Google Maps API V3 &#8211; Google Maps JavaScript API V3 &#8211; Google Code</a></p>
<p>Google Maps API V3 ってのは、今までのMaps APIで効率が悪かったり、スマートフォンに最適化されてなかった部分を改善するため、一から書き直したAPIで、今までのMaps APIと書き方が異なる。</p>
<p>んでも、やってることは同じだし、まだ V3のほうができることが少ないので理解は早いと思います。</p>
<p>サンプルとしては、</p>
<pre class="csharpcode">&lt;script type=<span class="str">&quot;text/javascript&quot;</span> src=<span class="str">&quot;http://maps.google.com/maps/api/js?sensor=false&quot;</span>&gt;&lt;/script&gt;
&lt;script type=<span class="str">&quot;text/javascript&quot;</span>&gt;
  <span class="kwrd">function</span> initialize() {
    <span class="kwrd">var</span> myLatlng = <span class="kwrd">new</span> google.maps.LatLng(-34.397, 150.644);
    <span class="kwrd">var</span> myOptions = {
      zoom: 8,
      center: myLatlng,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    }
    <span class="kwrd">var</span> map = <span class="kwrd">new</span> google.maps.Map(document.getElementById(<span class="str">&quot;map_canvas&quot;</span>), myOptions);
  }
&lt;/script&gt;
&lt;/head&gt;
&lt;body style=<span class="str">&quot;margin:0px; padding:0px;&quot;</span> onload=<span class="str">&quot;initialize()&quot;</span>&gt;
  &lt;div id=<span class="str">&quot;map_canvas&quot;</span> style=<span class="str">&quot;width:100%; height:100%&quot;</span>&gt;&lt;/div&gt;
&lt;/body&gt;</pre>
<p>これで、全画面の地図表示。</p>
<ul>
<li>APIキーがいらない → Open Socialなアプリ作る場合に問題だった、ドメインごとにAPIキー発行する手間がなくなる。 </li>
<li>スマートフォンに対応 → iPhoneとAndroidのUIにあわせてコントローラーを配置してくれるし、地図の描画までが早い！ </li>
</ul>
<p>だから、iPhoneのネイティブアプリ作ってて地図周りだけ、UIWebView使ってるっていう人も恩恵あるんじゃないかな？</p>
<h3>実際に現在位置をTwitterにPOSTするJavaScriptを作ってみた<br />
<style type="text/css">
<p>.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
</h3>
<p><a href="http://inagaki.co.uk/test/gears.html">Google Maps API V3 with Gears Geolocation API</a> ＠inagaki.co.uk</p>
<p>実際にAndroidで試してみてください。</p>
<p>中身はコチラ。</p>
<pre class="csharpcode">&lt;html&gt;
&lt;head&gt;
&lt;meta name=<span class="str">&quot;viewport&quot;</span> content=<span class="str">&quot;initial-scale=1.0, user-scalable=no&quot;</span> /&gt;
&lt;meta http-equiv=<span class="str">&quot;content-type&quot;</span> content=<span class="str">&quot;text/html; charset=UTF-8&quot;</span>/&gt;
&lt;title&gt;Google Maps API V3 with Gears Geolocation API&lt;/title&gt;
&lt;script type=<span class="str">&quot;text/javascript&quot;</span> src=<span class="str">&quot;http://maps.google.com/maps/api/js?sensor=false&quot;</span>&gt;&lt;/script&gt;
&lt;script type=<span class="str">&quot;text/javascript&quot;</span> src=<span class="str">&quot;gears_init.js&quot;</span>&gt;&lt;/script&gt;
&lt;script type=<span class="str">&quot;text/javascript&quot;</span>&gt;

<span class="rem">/*</span>
<span class="rem"> * GeoPo Encode in JavaScript</span>
<span class="rem"> * @author : Shintaro Inagaki</span>
<span class="rem"> * @param location (Object)</span>
<span class="rem"> * @return geopo (String)</span>
<span class="rem"> */</span>
<span class="kwrd">function</span> geopoEncode(location){
    <span class="rem">// 64characters (number + big and small letter + hyphen + underscore)</span>
    <span class="kwrd">var</span> chars = <span class="str">&quot;0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_&quot;</span>;

    <span class="kwrd">var</span> geopo = <span class="kwrd">new</span> String();
    <span class="kwrd">var</span> lat = parseFloat(location.lat); <span class="rem">// Parse as float</span>
    <span class="kwrd">var</span> lng = parseFloat(location.lng); <span class="rem">// Parse as float</span>
    <span class="kwrd">var</span> scale = parseInt(location.scale); <span class="rem">// Parse as int</span>

    <span class="rem">// Change a degree measure to a decimal number</span>
    lat = (lat + 90) / 180 * Math.pow(8, 10);
    lng = (lng + 180) / 360 * Math.pow(8, 10);

    <span class="rem">// Compute a GeoPo code from head and concatenate</span>
    <span class="kwrd">for</span>(<span class="kwrd">var</span> i = 0; i &lt; scale; i++) {
        geopo = geopo + chars.substr(Math.floor(lat / Math.pow(8, 9 - i) % 8) + Math.floor(lng / Math.pow(8, 9 - i) % 8) * 8, 1);
    }
    <span class="kwrd">return</span> geopo;
}

<span class="kwrd">var</span> geo = google.gears.factory.create(<span class="str">'beta.geolocation'</span>);

<span class="kwrd">function</span> displayMap(position) {
    <span class="kwrd">var</span> geocoder = <span class="kwrd">new</span> google.maps.Geocoder();
    <span class="kwrd">var</span> latLng = <span class="kwrd">new</span> google.maps.LatLng(position.latitude,position.longitude);
    <span class="kwrd">var</span> options = {
        zoom: 15,
        center: latLng,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    }
    <span class="kwrd">var</span> map = <span class="kwrd">new</span> google.maps.Map(document.getElementById(<span class="str">&quot;map_canvas&quot;</span>), options);

    <span class="kwrd">var</span> geocodeAddress;

    <span class="kwrd">var</span> infowindow = <span class="kwrd">new</span> google.maps.InfoWindow();

    <span class="kwrd">var</span> marker = <span class="kwrd">new</span> google.maps.Marker({
        position: latLng,
        map: map,
        title:<span class="str">&quot;You are here.&quot;</span>
    });

    <span class="rem">// geopo</span>
    <span class="kwrd">var</span> location = <span class="kwrd">new</span> Object();
    location.lat = position.latitude;
    location.lng = position.longitude;
    location.scale = 7;

    <span class="kwrd">var</span> geopo = geopoEncode(location);

    <span class="kwrd">if</span> (geocoder) {
        geocoder.geocode({<span class="str">'latLng'</span>: latLng}, <span class="kwrd">function</span>(results, status) {
            <span class="kwrd">if</span> (status == google.maps.GeocoderStatus.OK) {
                <span class="kwrd">for</span>(i=1;i&lt;results.length;i++){
                    <span class="kwrd">if</span> (results[i].types.length &gt;= 2 &amp;&amp; results[i].types[1] == <span class="str">&quot;political&quot;</span>) {
                        <span class="kwrd">if</span>(results[i].formatted_address.indexOf(<span class="str">&quot;日本&quot;</span>) != -1){
                            geocodeAddress = results[i].formatted_address.substring(2);
                        }<span class="kwrd">else</span>{
                            geocodeAddress = results[i].formatted_address;
                        }
                        <span class="kwrd">break</span>;
                    }
                }
                <span class="kwrd">if</span>(geocodeAddress){
                    infowindow.set_content(<span class="str">'&lt;strong&gt;現在地：&lt;/strong&gt;&lt;br /&gt;&lt;span style=&quot;font-size:80%&quot;&gt;'</span>+geocodeAddress+<span class="str">'&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;GeoPo：&lt;/strong&gt;&lt;br /&gt;&lt;span style=&quot;font-size:80%&quot;&gt;http://geopo.at/'</span>+geopo+<span class="str">'&lt;/span&gt;&lt;hr /&gt;&lt;a href=&quot;http://twitter.com/home?status='</span>+encodeURIComponent(<span class="str">' L:'</span>+geocodeAddress+<span class="str">' http://geopo.at/'</span>+geopo)+<span class="str">'&quot; target=&quot;twitter&quot;&gt;TwitterにPOSTする&lt;/a&gt;'</span>);
                    infowindow.open(map, marker);
                } <span class="kwrd">else</span>{
                    alert(<span class="str">&quot;現在地が取得できませんでした＞＜&quot;</span>);
                }
            } <span class="kwrd">else</span> {
                alert(<span class="str">&quot;Geocoder failed due to: &quot;</span> + status);
            }
        });
    }

    google.maps.<span class="kwrd">event</span>.addListener(marker, <span class="str">'click'</span>, <span class="kwrd">function</span>() {
        infowindow.open(map,marker);
    });
}

<span class="kwrd">function</span> handleError(positionError) {
    alert(<span class="str">'Attempt to get location failed: '</span> + positionError.message);
}

geo.getCurrentPosition(displayMap, handleError);

&lt;/script&gt;
&lt;/head&gt;
&lt;body style=<span class="str">&quot;margin:0px; padding:0px;&quot;</span>&gt;
  &lt;div id=<span class="str">&quot;map_canvas&quot;</span> style=<span class="str">&quot;width: 100%; height: 100%;&quot;</span>&gt;&lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>
<p>&#160;</p>
<h3>こんな風に現在位置が取れるよ<br />
<style type="text/css">
<p>.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
</h3>
<h4>１．さきほどのURLにアクセスする</h4>
<p><a href="http://creco.net/wp-content/uploads/device01.png" rel="lightbox[535]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="device01" border="0" alt="device01" src="http://creco.net/wp-content/uploads/device01-thumb.png" width="162" height="242" /></a></p>
<p>すると、Gearsで「現在地情報にアクセス」しますかというメッセージがでるので、OKを押してください。ドメインごとの許可ですかね？</p>
<h4>２． 現在地の地図を表示</h4>
<p><a href="http://creco.net/wp-content/uploads/device02.png" rel="lightbox[535]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="device02" border="0" alt="device02" src="http://creco.net/wp-content/uploads/device02-thumb.png" width="162" height="242" /></a> </p>
<p>Gearsからの位置情報をMaps API V3で地図表示。ちゃんと、拡大縮小コントローラーもAndroidなUIになってる。</p>
<p>そして、Maps API V3の逆ジオコーディングを使って、現在住所を取ってくる。</p>
<p>ついでに、GeoPoのエンコードもしてるよ！</p>
<p>一番下のリンクがTwitterにポストするためのリンク。</p>
<h4>３．TwitterにPOST内容を渡す</h4>
<p><a href="http://creco.net/wp-content/uploads/device03.png" rel="lightbox[535]"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="device03" border="0" alt="device03" src="http://creco.net/wp-content/uploads/device03-thumb.png" width="162" height="242" /></a> </p>
<p>http://twitter.com/home/?status=[ポスト内容] で渡すことができるから、単純に URLエンコードしたものを渡してるだけ。</p>
<p>ただ、このようなTwitterのパラメータ渡しは、Twitterの表示モードがモバイルになってると無効になるみたいなので、あらかじめスタンダードに変更しておいてください。</p>
<h3>ブラウザでのGeolocation APIについて</h3>
<p>実は、Google Gearsに対応していれば、ChromeとかFirefox（要アドオン）でも上記のURLで現在地の位置情報が取得できる。</p>
<p>正確にいうと、IPから推測した位置情報なので正しくはないかもしれないけど、JavaScriptだけの実装で簡易的に位置情報が取れるのは素敵ですね。</p>
<p>将来的には、W3CのGeolocation APIが載って、開発者側はハードウェア、ソフトウェアの差異を何も考えなくて位置情報を使ったコンテンツに注力できるっていう世界になってくれると幸せです。</p>
<p>Windows 7 では、OSレベルにGeolocation APIがあるそうなので、そちらも楽しみ… その前にIEをなんとかしてｋ（ｒｙ</p>
]]></content:encoded>
			<wfw:commentRss>http://creco.net/2009/06/11/google_maps_api_v3_with_gears_geolocation_api/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://creco.net/2009/06/11/google_maps_api_v3_with_gears_geolocation_api/" />
	</item>
		<item>
		<title>自転車通勤GPSライブトラッキングをやってみた</title>
		<link>http://creco.net/2009/05/01/cycle_to_work_with_live_tracking/</link>
		<comments>http://creco.net/2009/05/01/cycle_to_work_with_live_tracking/#comments</comments>
		<pubDate>Thu, 30 Apr 2009 17:51:14 +0000</pubDate>
		<dc:creator>inagaki</dc:creator>
				<category><![CDATA[野外活動]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[自転車]]></category>

		<guid isPermaLink="false">http://creco.net/2009/05/01/cycle_to_work_with_live_tracking/</guid>
		<description><![CDATA[
電車の通勤定期がようやく切れたので、自転車通勤生活はじまる。
前の会社では、刈谷から名古屋の栄まで自転車通勤していたんだけど、今のオフィスは尾頭橋にあるので単純に距離が短くなった。だけど、ブランクが1年以上あるし、体力 [...]]]></description>
			<content:encoded><![CDATA[<p><object id="otv_o_845968" height="320" width="400"  classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"><param value="http://www.ustream.tv/flash/video/1437400" name="movie" /><param value="true" name="allowFullScreen" /><param value="always" name="allowScriptAccess" /><param value="transparent" name="wmode" /><param value="viewcount=true&amp;autoplay=false&amp;brand=embed&amp;" name="flashvars" /><embed name="otv_e_879660" id="otv_e_301323" flashvars="viewcount=true&amp;autoplay=false&amp;brand=embed&amp;" height="320" width="400" allowfullscreen="true" allowscriptaccess="always" wmode="transparent" src="http://www.ustream.tv/flash/video/1437400" type="application/x-shockwave-flash" /></object></p>
<p>電車の通勤定期がようやく切れたので、自転車通勤生活はじまる。</p>
<p>前の会社では、刈谷から名古屋の栄まで自転車通勤していたんだけど、今のオフィスは尾頭橋にあるので単純に距離が短くなった。だけど、ブランクが1年以上あるし、体力と筋力も衰えまくってるので、今となってはハードな運動です。</p>
<p>そして、なんというかライブ配信もやりたくなるわけで、今年になってからの初ものを同時にやってみた。</p>
<p> <span id="more-526"></span><br />
<h4>ライブトラッキングシステム変更点</h4>
<h5>2ch式掲示板 → Twitter TL</h5>
<p>以前つくった   <br /><a href="http://creco.net/2009/04/13/softalk_tweet_timeline_of_twitter/">TwitterをSoftalkのゆっくりボイスでしゃべらせる | クレコ</a>    <br />を利用して、Twitterのタイムラインを読む。</p>
<h5>PeerCast → Ustream</h5>
<p>前は、PeerCastでファイアウォールの設定・P2P枝の管理・KP（チャンネル）への登録・WMEでのエンコード設定とかが必要なくなって、</p>
<p>Ustreamにログインして、BroadCastボタンをクリックするだけ。こんだけ。</p>
<h5>Bluetoothヘッドセットの変更</h5>
<p>TOSHIBAプロファイルがEeePC内蔵のBluetoothレシーバーで使えなかったため、Bluetoothレシーバーを追加していたというかっこ悪い構成を打開するために、Sony（TOSHIBAプロファイルではない）のBluetoothヘッドセットを使う。</p>
<h4>やってみた</h4>
<p>上のはUstreamの録画映像。</p>
<p>大府駅あたりからオフィスのある尾頭橋まで。GPSでの現在位置は前のと同じ   <br /><a href="http://inagaki.co.uk/misc/gps/">GPS Live Tracking</a>    <br />を使う。</p>
<p>Ustreamを配信はじめて、TwitterにチャンネルとGPS Live Trackingのアドレスをコピペ。そしてスタート。</p>
<p>動画を再生してもらえれば分かるけど、風切り音がひどいのでボリュームは抑えめにしたほうがいいかも。   <br />Bluetoothヘッドセットも耳にしっくりはまらなく、Softalkのしゃべる音声がほとんど聞き取れず。</p>
<p>最後のほうに2人の方からReplyが来たのみで双方向コミュニケーション的なことはまったくできない。まぁ、通勤途中なんで指示受けても困るだけだけどｗ</p>
<p>ぐだぐだのまま、オフィスに到着。終了です。</p>
<h4>いろいろ反省</h4>
<ul>
<li>Bluetoothヘッドセットの風切り音対策をしないとダメ</li>
<li>それと、Bluetoothの出力が弱いのか、通信で聞こえてくる音声が不安定＆最初の数秒聞こえない</li>
<li>Twitterのタイムラインを読むならリプライだけにしたほうがよい</li>
<li>予想以上に反応ないｗｗｗでもめげない。PeerCastとかだとチャンネル通知システムとかちゃんとしてるので、少なくとも30人以上視聴してくれて、それなりにレスももらえるんだけどね</li>
<li>Ustreamは 画質＞フレーム数。5fpsくらいでてくれないけど、妥協できる画質だと思う。エンコードを考えなくていいってのはとても楽</li>
</ul>
<h4>深夜にやってみた</h4>
<p>深夜2時くらいから自転車通勤したらどうなるんだろって思って、真夜中に準備してやってみたｗ</p>
<p>夜中の国道1号線とかはトラックがびゅんびゅん走ってるイメージがあったけど、意外にガラガラで危険なこともない。</p>
<p>自転車にとって天敵であるバスやタクシーと競争するようなこともなく、自分のペースで走ることができた。</p>
<p>深夜自転車通勤<strong>オススメ</strong></p>
<p>&#160;</p>
<p>GPSライブトラッキングやってくれる人が周りに増えると嬉しいので、興味を持った方は是非やりましょう</p>
]]></content:encoded>
			<wfw:commentRss>http://creco.net/2009/05/01/cycle_to_work_with_live_tracking/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://creco.net/2009/05/01/cycle_to_work_with_live_tracking/" />
	</item>
		<item>
		<title>App Store10億ダウンロード達成したね</title>
		<link>http://creco.net/2009/04/26/app_store_billion_download/</link>
		<comments>http://creco.net/2009/04/26/app_store_billion_download/#comments</comments>
		<pubDate>Sun, 26 Apr 2009 10:55:23 +0000</pubDate>
		<dc:creator>inagaki</dc:creator>
				<category><![CDATA[日記]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://creco.net/2009/04/26/app_store_billion_download/</guid>
		<description><![CDATA[ 
って今さらなことなんだけど。24日の早朝5時30分ごろに達成。
http://creco.net/wp-content/uploads/countdown.txt
にcronでcountdown.txtを取得していた [...]]]></description>
			<content:encoded><![CDATA[<p><img title="Ci090426192221" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="243" alt="Ci090426192221" src="http://creco.net/wp-content/uploads/ci090426192221.jpg" width="424" border="0" /> </p>
<p>って今さらなことなんだけど。24日の早朝5時30分ごろに達成。</p>
<p><a href="http://creco.net/wp-content/uploads/countdown.txt">http://creco.net/wp-content/uploads/countdown.txt</a></p>
<p>にcronでcountdown.txtを取得していたのをうｐしたので、ご自由にご利用ください。</p>
<p> <span id="more-524"></span>
<p>到達予想時間のスクリプトをJavaScriptで書いたんだけど、そういえばJSはクロスドメイン制限があったって思い出してPHPでcountdown.txtの取得ラッパーを書いてるうちに、JavaScriptが無意味なことに気付いて、PHPでスクリプト書きなおしてたあたりで、予想したって無意味じゃね？って思って、めんどくさくなって投げた。</p>
<p>結局、エクセルでcountdown.txtを処理させたほうが遥かに効率いいし、楽。</p>
<blockquote><p>wget -qO countdown-`date +\%Y\%m\%d-\%H`.txt http://www.apple.com/autopush/us/itunes/includes/countdown.txt</p>
</blockquote>
<p>当初の予想は、</p>
<blockquote><p>このペースだと現地時間の14時（日本時間 明日4時）くらいに確実に突破。ただ、加速つくと思うので2時くらいから様子みたほうがよさそう<a href="http://twitter.com/shinagaki/status/1592815298">6:16 PM Apr 23rd</a> from <a href="http://d.hatena.ne.jp/Kiri_Feather/20071121">Tween</a></p>
</blockquote>
<p>だったんだけど、意外に伸びなかったね（1日のダウンロード回数が3日前とくらべると減ってる）。</p>
<p>そのまま、たいした加速もなくゴール。10億ダウンロードおめでとう。</p>
<p>#10億DLの瞬間を撮ったという動画には突っ込みいれてはいけないのかな？</p>
]]></content:encoded>
			<wfw:commentRss>http://creco.net/2009/04/26/app_store_billion_download/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://creco.net/2009/04/26/app_store_billion_download/" />
	</item>
		<item>
		<title>20080913 東京-名古屋サイクリング １日目 Part.3</title>
		<link>http://creco.net/2009/04/14/20080913_tokyo-nagoya_cycling_day1_3/</link>
		<comments>http://creco.net/2009/04/14/20080913_tokyo-nagoya_cycling_day1_3/#comments</comments>
		<pubDate>Tue, 14 Apr 2009 12:45:28 +0000</pubDate>
		<dc:creator>inagaki</dc:creator>
				<category><![CDATA[野外活動]]></category>
		<category><![CDATA[2008東京名古屋間ツーリング]]></category>
		<category><![CDATA[EeePC]]></category>
		<category><![CDATA[ピアキャスト]]></category>
		<category><![CDATA[自転車]]></category>

		<guid isPermaLink="false">http://creco.net/2009/04/14/20080913_tokyo-nagoya_cycling_day1_3/</guid>
		<description><![CDATA[    20080913 東京-名古屋サイクリング １日目 3 from Inagaki on Vimeo.
2週間ぶりだけど、これ以上あいだ開けるとサボりそうなので、うｐ。   今回は横浜。動画は2つで2時間弱。
1日 [...]]]></description>
			<content:encoded><![CDATA[<p><object width="400" height="300"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=3864286&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=3864286&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"></embed></object>    <br /><a href="http://vimeo.com/3864286">20080913 東京-名古屋サイクリング １日目 3</a> from <a href="http://vimeo.com/inagaki">Inagaki</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<p>2週間ぶりだけど、これ以上あいだ開けるとサボりそうなので、うｐ。   <br />今回は横浜。動画は2つで2時間弱。</p>
<p>1日目のGPSログ。    <br /><a href="http://creco.net/wp-content/uploads/20080913_tokyo-nagoya_cycling.kmz">KMZに変換したログ</a>・<a href="http://maps.google.com/maps?q=http://creco.net/wp-content/uploads/20080913_tokyo-nagoya_cycling.kmz">Google マップでのルート表示</a>    </p>
<p> <span id="more-373"></span><br />
<h4>コンビニでコンセントを借りるのです</h4>
<p><strong>2008/09/13 09:08 (0:00)</strong> 前回のコンビニで休憩より続き。</p>
<p><a href="http://creco.net/wp-content/uploads/sany0090.jpg" rel="lightbox[373]"><img title="SANY0090" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="335" alt="SANY0090" src="http://creco.net/wp-content/uploads/sany0090-thumb.jpg" width="440" border="0" /></a></p>
<p>普通にエネルギー源のゼリー飲料とか買ったと思う。<strong>(19:30)</strong>までずっと休憩シーン。</p>
<p>EeePC本体では4時間半ほどしか持たないので、このまま行くと途中で配信を終了しなくちゃいけない。つまり、持ってきた外部バッテリーをEeePCに繋ぐことが長時間配信が可能となる前提条件。</p>
<p>だけど、前回も書いたように、なぜだか外部バッテリーが調子悪く、電源が入らない。   <br />そこで、外部バッテリーを充電してみて原因をさぐるために、コンビニでコンセントを貸してもらうことにした。</p>
<p>普通は断られるんだろうけど、店員さんに一瞬でいいからとお願いし、一瞬つなぎ、外部バッテリーのLEDが光るのを確認。どうやら、保護回路か何かが働いて動作しないようになってた模様。充電をすることで、その保護機構がリセットされるので、問題なく使えるみたいだ。 </p>
<p><strong>(19:30)</strong> 出発。</p>
<blockquote><dt>83 ：<a href="mailto:sage"><b>名無しさん </b></a>：08/09/13 09:09:35 </dt>
<dd>鎌倉行くんだったら、金沢八景方面から行った方がいいかも。      </dd>
<dt>84 ：<a href="mailto:sage"><b>名無しさん </b></a>：08/09/13 09:22:01 </dt>
<dd>高架をくぐって行くと遊郭があるよｗ      </dd>
<dt>85 ：<b>殺し愛 </b>：08/09/13 09:28:58 </dt>
<dd>今EMやっと繋がったｗｗ      <br />ｗｗｗｗｗｗｗｗｗｗｗｗｗｗｗｗｗ       </dd>
<dt>86 ：<a href="mailto:sage"><b>名無しさん </b></a>：08/09/13 09:30:26 </dt>
<dd><a href="http://yy66.60.kg/test/read.cgi/lazyrascal/1221225822/85">&gt;&gt;85</a>      </dd>
<dt>87 ：<a href="mailto:sage"><b>名無しさん </b></a>：08/09/13 09:30:44 </dt>
<dd><a href="http://yy66.60.kg/test/read.cgi/lazyrascal/1221225822/85">&gt;&gt;85</a>      </dd>
<dt>88 ：<a href="mailto:sage"><b>名無しさん </b></a>：08/09/13 09:32:19 </dt>
<dd><a href="http://yy66.60.kg/test/read.cgi/lazyrascal/1221225822/85">&gt;&gt;85</a>      <br />光回線いつ来るの？ </dd>
<dd>&#160;</dd>
</blockquote>
<p>愛ちゃんキタコレｗ   <br />この頃はイーモバイルで美容院から配信されてた頃ですね。</p>
<h4>横浜市入り</h4>
<p><strong>09:38 (29:30)</strong> スーパー無言タイム。レスもないしね。</p>
<p>東京から横浜の道は走りやすい。交通量は確かに多いんだけど、違法駐車とか、側道の障害物とかないからね。</p>
<p>ときどき、同じような自転車乗りがいるのもペースメーカーになっていいね。</p>
<blockquote><dt>89 ：<a href="mailto:sage"><b>名無しさん </b></a>：08/09/13 09:48:24 </dt>
<dd>風切音がすごい      </dd>
<dt>90 ：<a href="mailto:sage"><b>名無しさん </b></a>：08/09/13 09:57:38 </dt>
<dd>子安さん      </dd>
<dt>91 ：<a href="mailto:sage"><b>名無しさん </b></a>：08/09/13 10:01:08 </dt>
<dd>中華街でしゅうまいかわなくていいの？ </dd>
<dd>&#160;</dd>
</blockquote>
<p><strong>(53:00)</strong> 聞こえなくてごめんなさい＞＜。    <br />風切り音がすごいっていうのは配信されたBluetoothのヘッドセットの音のほうです。これは、後ほど風切り音対策（ヘッドセットのマイクにテープを貼っただけｗ）をしました。</p>
<p>上の動画を撮影したXactiには風切り音対策として、ガーゼをマイク部分に貼付けてあります。ガーゼだけでもかなりの風切り音対策になるのでオススメ。</p>
<p><strong>(58:00)</strong> しばらく、道路ばかりで画が面白くなかったので、みなとみらい２１方面へ立ち寄ることにする。</p>
<p><strong>(1:00:00)</strong> <a href="http://niceyokohama.web.infoseek.co.jp/">ハマチャリ</a>の宣伝だよ。1日800円で各所で乗り捨てできるから、横浜観光にどうぞ。</p>
<h4>みなとみらい２１</h4>
<p><strong>(1:02:00)</strong> <a href="http://ja.wikipedia.org/wiki/%E6%A8%AA%E6%B5%9C%E3%83%A9%E3%83%B3%E3%83%89%E3%83%9E%E3%83%BC%E3%82%AF%E3%82%BF%E3%83%AF%E3%83%BC">横浜ランドマークタワー</a>(Wikipedia)。日本一の高層ビル。</p>
<p><a href="http://creco.net/wp-content/uploads/sany0091.jpg" rel="lightbox[373]"><img title="SANY0091" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="335" alt="SANY0091" src="http://creco.net/wp-content/uploads/sany0091-thumb.jpg" width="256" border="0" /></a>    </p>
<blockquote><dt>92 ：<a href="mailto:sage"><b>名無しさん </b></a>：08/09/13 10:10:16 </dt>
<dd>あ、あいちゃんがかきこみしてるよｗ      </dd>
<dt>93 ：<a href="mailto:sage"><b>名無しさん </b></a>：08/09/13 10:11:01 </dt>
<dd>赤レンガ倉庫の方にはいかないの？      </dd>
<dt>94 ：<a href="mailto:sage"><b>名無しさん </b></a>：08/09/13 10:13:37 </dt>
<dd>あかれんがそうこたのむ </dd>
<dd>&#160;</dd>
</blockquote>
<p> <object width="400" height="300"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=4026490&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=4026490&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"></embed></object>  <br /><a href="http://vimeo.com/4026490">20080913 東京-名古屋サイクリング １日目 4</a> from <a href="http://vimeo.com/inagaki">Inagaki</a> on <a href="http://vimeo.com">Vimeo</a>.  </p>
<p><em><font color="#666666">ここで2つめの動画突入。</font></em></p>
<p><strong>2008/09/13 10:11 (0:00)</strong> ランドマークタワーから。</p>
<p><strong>(00:40)</strong> <a href="http://ja.wikipedia.org/wiki/%E6%97%A5%E6%9C%AC%E4%B8%B8">日本丸</a>(Wikipedia)。× にほんまる → ○ にっぽんまる だそうです、訂正します。</p>
<p><a href="http://creco.net/wp-content/uploads/sany0092.jpg" rel="lightbox[373]"><img title="SANY0092" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="335" alt="SANY0092" src="http://creco.net/wp-content/uploads/sany0092-thumb.jpg" width="440" border="0" /></a>&#160;</p>
<p>左のビル群はクイーンズスクエア横浜、真ん中のビルはヨコハマグランドインターコンチネンタルホテル、右の観覧車はよこはまコスモワールド、手前は汽車道。</p>
<p>視聴者からの指令で、赤レンガ倉庫へ行くことに。キング、クイーン、ジャックの話は下のページから勝手に見ておいて！</p>
<p><a href="http://www.yokokana.net/yokohama/yoko11.html">横浜のキング・クイーン・ジャック</a></p>
<p><strong>(04:30)</strong> 夜のイルミネーション見るのに最適な橋。<a href="http://ja.wikipedia.org/wiki/%E4%B8%87%E5%9B%BD%E6%A9%8B">万国橋</a>(Wikipedia)。</p>
<h4>横浜赤レンガ倉庫</h4>
<p><strong>(06:30)</strong> ゆりしーとかｗ何言ってるんだ俺は／／／</p>
<p><a href="http://creco.net/wp-content/uploads/sany0093.jpg" rel="lightbox[373]"><img title="SANY0093" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="335" alt="SANY0093" src="http://creco.net/wp-content/uploads/sany0093-thumb.jpg" width="440" border="0" /></a> </p>
<blockquote><dt>95 ：<a href="mailto:sage"><b>名無しさん </b></a>：08/09/13 10:15:03 </dt>
<dd>風の音で何を行ってるのか分かんない＞＜      </dd>
<dt>96 ：<a href="mailto:sage"><b>名無しさん </b></a>：08/09/13 10:19:26 </dt>
<dd>たしかに人少ないなｗ      </dd>
<dt>97 ：<a href="mailto:sage"><b>名無しさん </b></a>：08/09/13 10:19:31 </dt>
<dd>赤レンガ過疎やがｗｗｗ      </dd>
<dt>98 ：<a href="mailto:sage"><b>名無しさん </b></a>：08/09/13 10:20:09 </dt>
<dd>みえたあああああああああああああああああ      </dd>
<dt>99 ：<a href="mailto:sage"><b>名無しさん </b></a>：08/09/13 10:21:08 </dt>
<dd>イベントが無い日は人少ないよ      </dd>
<dt>100 ：<a href="mailto:sage"><b>名無しさん </b></a>：08/09/13 10:21:48 </dt>
<dd>そのちいさいほうがいちごうかんらしい      </dd>
<dt>101 ：<a href="mailto:sage"><b>名無しさん </b></a>：08/09/13 10:23:30 </dt>
<dd>いいな 景色 しゃしんとっとけば      </dd>
<dt>102 ：<a href="mailto:sage"><b>名無しさん </b></a>：08/09/13 10:25:51 </dt>
<dd>うわぁ絵になるなぁ      <br />デートしてええええ </dd>
<dd>&#160;</dd>
</blockquote>
<p>自転車乗り入れすると怒られそうだったので歩いていた（ビンディングシューズの音がカチカチ聞こえるでしょ）けど、自転車乗ってる人がいたので海側まで行ってみた。</p>
<p><a href="http://creco.net/wp-content/uploads/sany0096.jpg" rel="lightbox[373]"><img title="SANY0096" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="335" alt="SANY0096" src="http://creco.net/wp-content/uploads/sany0096-thumb.jpg" width="440" border="0" /></a> </p>
<p><a href="http://www.kaiho.mlit.go.jp/03kanku/kouhou/jcgm_yokohama/index.html">工作船展示館</a>。入場料無料だそうです。</p>
<p><strong>(15:20)</strong> やっぱり、自転車乗り入れ、だめなんじゃん＞＜</p>
<p><strong>(16:30)</strong> <a href="http://ja.wikipedia.org/wiki/%E6%A8%AA%E6%B5%9C%E7%A8%8E%E9%96%A2">横浜税関</a>(Wikipedia)はクイーンだそうです。</p>
<blockquote><dt>103 ：<a href="mailto:sage"><b>名無しさん </b></a>：08/09/13 10:26:21 </dt>
<dd>あかいくつはいてたおんなのこのぞうのとこにいこう      </dd>
<dt>104 ：<a href="mailto:sage"><b>名無しさん </b></a>：08/09/13 10:31:19 </dt>
<dd>いぬにチョップしとけｗ      </dd>
<dt>105 ：<a href="mailto:sage"><b>名無しさん </b></a>：08/09/13 10:32:11 </dt>
<dd>あああ おんなのこのかわいい </dd>
</blockquote>
<h4>山下公園</h4>
<p><strong>10:31 (19:20)</strong> 赤い靴をはいてた女の子の像へ。</p>
<p><a href="http://creco.net/wp-content/uploads/sany0097.jpg" rel="lightbox[373]"><img title="SANY0097" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="335" alt="SANY0097" src="http://creco.net/wp-content/uploads/sany0097-thumb.jpg" width="440" border="0" /></a></p>
<blockquote><dt>106 ：<a href="mailto:sage"><b>名無しさん </b></a>：08/09/13 10:32:12 </dt>
<dd>山下大ちゃんﾏﾀﾞｰ？      </dd>
<dt>107 ：<a href="mailto:sage"><b>名無しさん </b></a>：08/09/13 10:32:58 </dt>
<dd>車で1時間かからないで行ける所なのに、      <br />5年くらい行ってねぇ；；       </dd>
<dt>108 ：<a href="mailto:sage"><b>名無しさん </b></a>：08/09/13 10:33:09 </dt>
<dd>ひかわまるでしょくじ      </dd>
<dt>109 ：<a href="mailto:sage"><b>名無しさん </b></a>：08/09/13 10:34:42 </dt>
<dd>中華街？      </dd>
<dt>110 ：<a href="mailto:sage"><b>名無しさん </b></a>：08/09/13 10:36:21 </dt>
<dd>鎌倉まで直線距離で６０ｋｍぐらい      </dd>
<dt>111 ：<a href="mailto:sage"><b>名無しさん </b></a>：08/09/13 10:37:00 </dt>
<dd>見てる間誘導しまっす＠神奈川県民      </dd>
<dt>112 ：<a href="mailto:sage"><b>名無しさん </b></a>：08/09/13 10:43:39 </dt>
<dd>中華まん購入TAだな </dd>
<dd>&#160;</dd>
</blockquote>
<p>TAってのはタイムアタックの略。中華まんを早食いせよという指令。無視！</p>
<p><a href="http://creco.net/wp-content/uploads/sany0098.jpg" rel="lightbox[373]"><img title="SANY0098" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="335" alt="SANY0098" src="http://creco.net/wp-content/uploads/sany0098-thumb.jpg" width="440" border="0" /></a> </p>
<p><strong>(26:00)</strong> 小休憩。次行くところは中華街に決定。</p>
<p>その前に横浜マリンタワー</p>
<p><a href="http://creco.net/wp-content/uploads/sany0100.jpg" rel="lightbox[373]"><img title="SANY0100" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="335" alt="SANY0100" src="http://creco.net/wp-content/uploads/sany0100-thumb.jpg" width="256" border="0" /></a> <a href="http://creco.net/wp-content/uploads/sany0099.jpg" rel="lightbox[373]"><img title="SANY0099" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="335" alt="SANY0099" src="http://creco.net/wp-content/uploads/sany0099-thumb.jpg" width="440" border="0" /></a> </p>
<p>今は改修中で、2009年5月23日にリニューアルオープンするそうです。</p>
<h4>横浜中華街</h4>
<p><strong>11:42 (30:00)</strong> <a href="http://ja.wikipedia.org/wiki/%E6%A8%AA%E6%B5%9C%E4%B8%AD%E8%8F%AF%E8%A1%97">横浜中華街</a>(Wikipedia)。</p>
<p>中華街は自転車で巡ると大きさとか街路の交わり方とかがよくわかる。</p>
<p><a href="http://creco.net/wp-content/uploads/sany0101.jpg" rel="lightbox[373]"><img title="SANY0101" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="335" alt="SANY0101" src="http://creco.net/wp-content/uploads/sany0101-thumb.jpg" width="440" border="0" /></a> </p>
<p><strong>(32:30)</strong> 関帝廟。ってことで中華街終了。</p>
<p><em><font color="#666666"></font></em>    </p>
<blockquote><dt>113 ：<a href="mailto:sage"><b>名無しさん </b></a>：08/09/13 10:43:54 </dt>
<dd>そこによしもとこうぎょう うんえいの すいぞくかんがあるはず      <br />おもしろいよ       </dd>
<dt>114 ：<a href="mailto:sage"><b>名無しさん </b></a>：08/09/13 10:44:28 </dt>
<dd>中華街なんか来ちゃったのか…      </dd>
<dt>115 ：<a href="mailto:sage"><b>名無しさん </b></a>：08/09/13 10:48:47 </dt>
<dd>高速の高架下沿いを走っていけばいいよ      </dd>
<dt>116 ：<a href="mailto:sage"><b>名無しさん </b></a>：08/09/13 10:48:59 </dt>
<dd>中華街うるさいね </dd>
<dd>&#160;</dd>
</blockquote>
<h4>横浜散策を終えて鎌倉へ</h4>
<p><strong>(35:00)</strong> 中華街を抜けて、鎌倉を目指す。でも、ここから先の道はまったくわからないので、視聴者まかせです。</p>
<blockquote><dt>117 ：<b>名無しさん </b>：08/09/13 10:49:39 </dt>
<dd>あ、もどらなくてもいいｗｗ      </dd>
<dt>118 ：<b>名無しさん </b>：08/09/13 10:50:03 </dt>
<dd>うんうん      </dd>
<dt>119 ：<b>名無しさん </b>：08/09/13 10:50:36 </dt>
<dd>高架下を西へ      <br />国道16号まで行けばいいです </dd>
<dd>&#160;</dd>
</blockquote>
<p>視聴者の指示を信じて、いざ鎌倉。</p>
<p>で、このローソンがある交差点で終了。</p>
<p>実はここからの先、Xactiの不調で動画ファイルがザックリなくなってしまっているので、次回はWebカメラの画質になってしまうことを前もってお詫びしておきます。</p>
<p> それでは。</p>
]]></content:encoded>
			<wfw:commentRss>http://creco.net/2009/04/14/20080913_tokyo-nagoya_cycling_day1_3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://creco.net/2009/04/14/20080913_tokyo-nagoya_cycling_day1_3/" />
	</item>
	</channel>
</rss>
