GeoLocation API メモ

//位置を取得するときのオプション
var positionOptions ={
enableHighAccuracy; true,
timeout:6000,
maximumAge:0
};
//位置の取得に成功したら実行する
function successCallback(position)~{
alert(position.coords.latitude +’,’+postion.coords.longitude);
}
これで緯度経度が表示
//位置取得失敗したら実行
function errorCallback(positionError){
alert(positionEror.code +’,’+poositionError.message);
}
//位置取得
function getPosition(){
navigator.getlocation.getCurrentPosition(successCallback,errorcallback,positionOptions);
}
あらかじめ
positionOptions
successCallback
errorCallback
を作成して
あとは、
navigator.geolocation.getCurrentPostion()
の引数に当てはめている
positionOptions の意味だけど
enableHighAccuray
高精度の情報を取得
timeout
タイムアウトまでの時間
maximumAge
位置情報の有効期限
0なら常時更新になる
今回は
getCurrentPosition()
だけど、これは1回しか取得しないので
通常、位置情報アプリをつくるなら
位置情報を継続して取得する
watchPosition(successCallback,errorcallback,positionOptions)
こちらをつかう
ただし、ずっと動かすわけにはいかないので
止めるための機能もある
それが
clearWatch(watchId)
これで
識別番号 watchId で稼働している位置情報の監視を停止できる
watchId は watchPosition() の戻り値になる
また
function successCallback(position){
………}
のところで
プロパティがでてきたので、これも解説メモ
coords.altitude
緯度
coords.longitude
経度
coords.altitude
高度をmで表す
coords.altitudeAccuracy
高度の精度を表す
coords.heading
方角を表す
coords.speed
速度を表す
timestamp
位置を取得した自国のタイムスタンプを表す
最後に positionError のプロパティ
これは
function errorCallback(positionError){
…..}
の中で使っている
code
以下の数値がエラーの意味になる
1 PERMISSION_DENIED
2 POSITION_UNABAILABLE
3 TIMEOUT
message
エラーメッセージ

Audio/Video関連のイベント

Audio/Video関連のイベント
emtied
読み込みの最初に発生
loadstart
読み込み開始で発生
progress
読み込み中に断続的に発生
loadmetadata
メタデータ読み込みで発生
loadeddata
データ読み込みで発生
canplay
再生できるぐらいまでデータ読み込みで発生
canplaythrow
最後まで再生できるぐらいまでデータ読み込みで発生
load
データ読み込み完了で発生
suspend
データ読み込み一時停止で発生
stalled
データ読み込み失速で発生
abort
データ読み込みがエラー中断されると発生
error
エラーで発生
loaded
読み込みがloadで正常終了
もしくは
abortなどでエラー終了しても発生する
とにかく、終わると発生

video /Audio メモ

再生状態の取得
再生中のメディアファイルのURLは
currentSrc プロパティから取得
また、メディアファイルの長さは
duration プロパティから取得できる
単位は秒
他の情報を取得するプロパティは以下の通り
currentSrc
読み込み、再生を行っているメディアファイルのURL
duration
データの長さを秒で表す
ended
再生終了かどうか表す
error.code
1 MEDIA_ERROR_ABORTED
ユーザがダウンロードを中止
2 MEDIA_ERROR_NETWORK
ネットワーク接続失敗
3 MEDIA_ERROR_DECODE
デコード失敗
4 MEDIA_ERROR_SRC_NOT_SUPPORTED
形式をサポートしていない
networkState
0 NETWORK_EMPTY
要素の初期状態
1 NETWORK_IDLE
ネットワークを接続前
2 NETWORK_LOADING
ダウンロード中
3 NETWORK_LOADED
ダウンロード完了
4 NETWORK_NO_SOURCE
サポートしていない形式のためダウンロードしない
played
再生済みの時間範囲である TimeRanges を返す
seekable
シーク可能な時間範囲を表す
seeking
指定された再生位置に移動中か表す
startTime
再生可能な位置を秒数で表す
readyState
メディアのダウンロード状態を示す
0 HAVE_NOTHING
ダウンロード開始していない
1 HAVE_METADATA
メタデータのみダウンロード済み
2 HAVE_CURRENT_DATA
現在の再生位置を表示できるだけのデータをダウンロード済み
3 HAVE_GUTURE_DATA
現在の再生位置より少し先を再生できるぶんのダウンロード済み
4 HAVE_ENOUGH_DATA
最後まで表示できるデータをダウンロード済み
次に再生状態の変更
値を変更するプロパティも存在する
src
指定されたメディアファイルのURL
currentTIme
現在の再生位置を秒数で表す
defaultPlaybackRate
デフォルトの再生速度を泡ラス
デフォルトは1.0
マイナスにすると巻き戻し
playbackRate
再生速度
デフォルトは1。0
マイナスなら巻き戻し
preload
先読みするかどうか
loop
ループ再生するかどうか
controls
コントロールバーの表示
volume
音声ボリューム
0.0 ~ 1.0 の値
muted
消音

video Audio の使い方

基本的には
<audio src=”sample.mp3″ controles=”controls” loop=”loop” autoplay=”autoplay”></audio>
controls でコントロールバーの表示
loop でループ再生
autoplay で自動再生
muted をつけると消音
動画なら
<video src=”movie.mp4″ poster=”c4,2002png” controls=”controls” height=”300px” width=”300px”></video>
poster は動画が再生されるまでお待ちくださいという
変わりの画像の指定
controls はコントロールバーの表示
autoplay には
autoplay
autoplay=”autoplay”
autoplay=””
のどれかを選ぶ
preload は自動でファイル読み込み設定
none 無効
metadata メタデータのみ
auto 自動
のどれかを選ぶ
controls はコントロールバー
controls
controls=”controls”
controls=””
のどれかを選ぶ
loop ループ再生の指定
loop
loop=”loop”
loop=””
のどれかにする
あと複数メディアファイル対応にするなら
source タグで指定すればいい
<video controle=”controls”>
<source src=A”movie.mp4″ type=”video/mp4″></source>
<source src=”movie.webm” type=”video.webm”></source>
</video>
というかんじ
あと、重要なのが読み込みと再生関連
load()
メディアファイル読み込み
play()
メディアファイル再生
conPlayType(type)
type で指定したMIMEタイプが再生できるかどうか判定
再生できるなら
maybe
もしくは
probably
を返す

node.js準備

ubuntu12.04 LTS の場合
sudo apt-get -y install build-essential
で開発環境導入
続いてnode.jsインストール
wget http://nodejs.org/dist/v0.8.16/node-v0.8.16.tar.gz
tar zxvf node-v0.8.16.tar.gz
sudo mv node-v0.8.16 /usr/local/
cd /usr/local/node-v0.8.16
sudo ./configure
sudo make install
node –version
次に、アプリ格納ディレクトリ作成
mkdir c4_5001
mkdir c4_5001/public
cd c4_5001
npm install socket.io express
Express はNode.jsのための
Webアプリのフレームワーク
npm は
rpm みたいな
node.js のためのパッケージマネージャー
必要なモジュールを自動ダウンロードする
どちらかというと
apt-get
とか
yum
みたいなかんじかもしれない

jQuery Mobile

jQuery Mobile は
jQuery ベースのモバイル向けUIを簡単に
構築できるようにしたライブラリ
まず。必要なファイルをダウンロード
http://jquerymobile.com/download
から
jquery.mobile-1.2.1.zip をダウンロード
あとは、解凍して
プロジェクトディレクトリに配置する
unzip コマンドで簡単に解凍可能
unzip jquery.mobile-1.2.1.zip
解凍するといろいろファイルとかディレクトリあるけど
使うのは
images/
jquery.mobile-1.2.1.css
jquery.mobile-1.2.1.js
注意点としては、
css ファイルと
images ディレクトリを同じ階層におかないと
アイコンが表示されなくなるの注意
あとは、このディレクトリのところにHTMLファイルなどを
書いていくことで、スマートフォン向けのものが
作成できます

JavascriptのDOMアクセス

JavascriptのDOMアクセス
要素のID タグ名 クラス名から要素を選択するなら
getElementById()
IDが一致する要素を取得
getElementsByTagName()
タグ名に一致する要素一覧を取得
getElementsByClassName()
クラス名に一致する要素一覧を取得
また、CSSセレクタからの取得もできる
querySelector()
CSSセレクタに一致する最初の要素を取得
querySelectorAll()
CSSセレクタに一致する要素一覧を取得

Javascriptの try~catch~finally

Javascriptの try~catch~finally
役割をまとめると
try{
例外の発生する可能性のある処理
}catch(e){
例外の処理
}finally{
例外が発生してもかならず実行したい処理
}
というかんじ
あと、自分で例外発生させることもできる
それには
throwを使う
あと、例外処理のcatchのところは
if~elseで例外ごとに分岐処理することも可能

animationを使ってアニメーション

animationを使ってアニメーション
animationなら
transitionより複雑なアニメーションができる
transitionは、プロパティの変化の仕方を指定しただけ
animationては、
キーフレームを使うことで
様々な制御が可能
キーフレームは@keyframes
というキーワードを使い指定する
@keyframesの
キーフレームの設定は
アニメーション全体に対するバーセンテージで表す
最初は 0%
中間は 50%
最後が 100%
となり
このバーセンテージで示したところに
スタイルを適用することで
キーフレーム間でアニメーションが実現する
@keyframesの書式は
@keyframes アニメーション名{
0% { 変化させるプロパティ : 値; }
25% { 変化させるプロパティ : 値; }
….
100% {変化させるプロパティ : 値 }
}
となる

CSS3のアニメーション

CSS3のアニメーション
CSS3でアニメーションするなら
transition
または
animation
を使う
シンプルなアニメーションをするなら
transition
これなら
マウスのロールオーバーによるリンクの強調とか
ユーザーの動作についてちょうどエフェクトかけるとかできる
とりあえずソースにすると
. slowly{
transition:
background-color 背景色を
1s アニメーション実行時間
0 開始までの遅延秒数
ease-in-out 変化の仕方
;}
.slowlyは
class=”slowly”という意味
ease-in-outの意味は
最初と最後がゆっくり変化する
他にも指定できる
ease
最初と最後が滑らか
ease-in
最初はゆっくり
ease-out
最後がゆっくり
linear
一定速度