Archive for 2009年7月

flashcast:フリーで働くITエンジニア集団のブログ: iPhone OS 3.0のSafariでGPS機能を使ったWeb Applicationを作る!(完成編)を書いた後すぐに、Stray Child(ストレイ チャイルド)をとのさまと同じ様に、appleのサイトに登録申請してみました。

やり方は、半年前のflashcast:フリーで働くITエンジニア集団のブログ: iPod touch用のWeb Applicationを作成したから登録してみると全く変わってないと思います。

気がついたら、公開されてました。

Apple – Web apps – Strayed Child

特に注意するようなところはありませんでしたが、画像アップ時に1度エラーになりました。
申請時には2つの画像をアップします。
続きを読む »

flashcast:フリーで働くITエンジニア集団のブログ: iPhone OS 3.0のSafariでGPS機能を使ったWeb Applicationを作る!(履歴をMap表示編)で履歴画面から地図画面に遷移し、その住所を再表示する機能を実装し、ある程度まとまった感があるので、逆ジオコーディングのWebサービスとして公開したいと思います。

スタイルシートを当てて、見た目を整え、ロジックを少しリファクタリングしました。あわせて、いくつか機能を拡張したので、メモしておきます。

●地図画面
1)メール送信機能
パラメータで緯度・経度を取得してその住所を表示できるようにしたので、
続きを読む »

ここ最近、通勤の行き帰りはiPhoneとのにらめっこが続いてます・・・

flashcast:フリーで働くITエンジニア集団のブログ: iPhone OS 3.0のSafariでGPS機能を使ったWeb Applicationを作る!(history画面作成編)で、履歴画面を作りました。

履歴画面の住所の表示をリンクにして、地図画面に遷移できるようにします。地図画面を表示する際に、住所の吹き出しを初期表示する仕様にします。

まず、一覧に表示されている住所をリンクに変更します。

javascriptで住所一覧を作っているところを少しなおします。

  for (i = 0; i < resultSet.rows.length; i++) {
   var address = tonosamart.evalJson(resultSet.rows.item(i).dat);

   if (address) {
    html += "<div><p><a href='../map/?latlng=" +
     splitLatlng(address.name)[0] + "," +
     splitLatlng(address.name)[1] + "'>" +
     address.Placemark[0].address + "</a></p></div>";
   }
  }

地図画面にパラメータで緯度・経度を渡すようにしています。
続きを読む »

flashcast:フリーで働くITエンジニア集団のブログ: iPhone OS 3.0のSafariでGPS機能を使ったWeb Applicationを作る!(sqlite保存編)の続きです。

前回は表示されている住所の吹き出しの中に、「save」リンクを設け、その住所をSQLiteに保存するようにしましたので、その住所を見るための履歴画面を作ります。

htmlの見た目は極めて単純なものにします。この時点ではかっこよさとかは気にしません。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="viewport" content="width=320px, user-scalable=no" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<title>iPhone GPS Sample</title>
</head>
<body>
<div id="header">
<div id="title">Histories</div>
<a href="../sqlite/">back</a>
</div>
<div id="main"></div>
</body>
</html>

続きを読む »

flashcast:フリーで働くITエンジニア集団のブログ: iPhone OS 3.0のSafariでGPS機能を使ったWeb Applicationを作る!(iPhoneでテスト編)の続きです。

いままでのサンプルアプリは住所を表示するだけなので、もう一工夫して、その住所を保存できるようにしたいと思います。
保存先は、tonomemoと同じように組み込みデータベースのSQLiteにします。

まず、テーブル構造を考えます。

緯度と経度と・・・
ん。よく考えるとGoogle Maps APIの戻り値は、JSONオブジェクトなので、とのさまのflashcast:フリーで働くITエンジニア集団のブログ: ipod touch用のWeb Applicationを作成してみる(JSONについて)のアイデアが使えそうです。
続きを読む »

flashcast:フリーで働くITエンジニア集団のブログ: iPhone OS 3.0のSafariでGPS機能を使ったWeb Applicationを作る!(GPS編)の続きです。

前回作ったサンプルアプリiPhone GPS Sampleを実機でテストしてみました。実際にテストしてみていくつかわかったことがあります。

  • 移動してなくても現在地の緯度・経度の値が変わる場合がある。
  • 数歩歩くだけで変化する。

どちらも当たり前のことなんですが、実際に動きながらテストしてはじめて気付かされました。

以下のようなコードで、現在地の緯度・経度の値が変更になったときのイベントを受け、現在地住所を検索するようにしているので、

 function onLocationChanged(e) {
  lat = e.coords.latitude;
  lng = e.coords.longitude;
  getAddress(new GLatLng(lat, lng));
 }

地図上の吹き出しが表示されたり、消えたりを繰り返し、うざいです。なので、ある程度移動すると住所情報を再表示することにしました。
続きを読む »

flashcast:フリーで働くITエンジニア集団のブログ: iPhone OS 3.0のSafariでGPS機能を使ったWeb Applicationを作る!(UI編)の続きです。

iPhone OS 3.0のSafariでGPS機能を利用し、現在地の緯度・経度を取得します。

前回同様、以下のサイトを参考にしました。
各種デバイスの読み取り – iPhone 3G DevWiki

javascriptで現在地の緯度・経度を取得します。

 function initialize() {
  if (navigator != null && navigator.geolocation != null) {
   navigator.geolocation.watchPosition(onLocationChanged);
  }

  map = new GMap2(document.getElementById("map_canvas"));
  map.setCenter(new GLatLng(lat, lng), 15);
  GEvent.addListener(map, "click", onMapClick);
  geocoder = new GClientGeocoder();
 }

 function onLocationChanged(e) {
  lat = e.coords.latitude;
  lng = e.coords.longitude;
  getAddress(new GLatLng(lat, lng));
 }

続きを読む »

flashcast:フリーで働くITエンジニア集団のブログ: iPhone OS 3.0のSafariでGPS機能を使ったWeb Applicationを作る!(google編)の続きです。

画面のデザインを検討します。

とのさまのflashcast:フリーで働くITエンジニア集団のブログ: ipod touch用のWeb Applicationを作成してみる(画面作り編)と同様、こちらを参考にしました。
画面表示関係 – iPhone 3G DevWiki

iPhone特有の書式は基本的にはtonomemoと同じです。

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="viewport" content="width=320px, user-scalable=no" />
<meta name="apple-mobile-web-app-capable" content="yes" />

続きを読む »

flashcast:フリーで働くITエンジニア集団のブログ: iPhone OS 3.0にアップデートしてみたで、iPhone SDK 3.0もインストールしたので、なにかiPhoneアプリでも作ってみようかと思っていたのですが、iPhone OS 3.0のSafariではGPS機能が使えるということを知り、iPhone向けのWebアプリを作ってみることにしました。

ろっきーのflashcast:フリーで働くITエンジニア集団のブログ: GoogleAPI~郵便番号から地図を表示してみる~によると、Google Maps APIがバージョンアップされ、Google Maps API – Google Codeに、逆ジオコーディング機能がついたようなので、これを使いたいと思います。


続きを読む »