2012年10月27日土曜日

表示中のページをPDF化するFirefox プラグイン

WEBのページをPDF化するのに便利だったので、なんとくなくメモ

Firefoxのプラグイン
Print pages to Pdf

2012年10月21日日曜日

Google Map を扱うjQueryプラグイン

Google Map を扱うjQueryプラグインを調べて居たののでなんとなくメモ。
使い方の詳細は後々調べる予定。


a)jquery-ui-map
http://code.google.com/p/jquery-ui-map/

MITライセンスで公開されている。
他のプラグインがGoogleMapAPIをラップしているしているのに対して、jquery-ui-mapとう名前だけあって、角丸で表示したりと手を加えている。

jQuery Mobileと併用するサンプルが多く掲載されるし、見た目も統一感がとれている用にみえる。

サンプルはこちら
http://jquery-ui-map.googlecode.com/svn/trunk/demos/jquery-google-maps-mobile.html

b)jQuery Google Maps プラグイン  
http://labs.d-s-b.jp/plugins/jQuery/jQueryGoogleMaps/
https://github.com/dreamseeker/jQueryGoogleMaps

日本の方が開発していて、MITライセンスで公開されている。

地図表示時に、マーカーなどをJSONやXMLを外部から読み込んで表示することができるようになっている。
単に地図を表示するには便利そう。
ただ、mapにアクセスする手段がないので、後からマーカーを追加したらりイベントを追加するようなことはできなさそう。
#誰か知ってたら教えてください。

c) gmaps.js
http://hpneo.github.com/gmaps/
MITライセンスで公開されている。

すごく使いやすそうなプラグイン。

gmaps.jsで作ったインスタンスを別の変数に保持しておく必要がある。

APIやサンプルがうまくまとまっている。
http://hpneo.github.com/gmaps/examples.html


d)gmap3
http://gmap3.net/
 
GPL v3 ライセンスで公開されている
mapはプラグイン内で管理していて、getアクションで取得できる。

マニュアルがちょっとわかりずらい印象。
$("#map").gmap3()に渡す連想配列で、動作を指定する。
addressで住所を指定すると、位置情報を変換する機能が内包されているなど、 高機能だけど指定の仕方はくせがある。


そのままGoogle Map APIを叩くか、プラグインを使って見るか悩みどころ。
特定ポイントの地図を表示するだけならプラグインを使った方がシンプルに記述ができそうだけど、いろいろと自分で処理を書き始めると、使っても使わなくても変わらなくなってきそう。
別にライブラリを読み込むこと考えるとなくてもいいかなぁと。

2012年10月19日金曜日

MySQLのバックアップ・リストアなど



MySQLでのバックアップ、リストアの調べたのでなんとなくメモ。

(1)DBの状態を確認
 use データベース名;
 status;

(2)ファイルシステムに配置しているのSQLファイルをを実行
mysqlプロンプト上で、sourceコマンドを利用

mysql > source ファイル名;

ファイル名は絶対パス指定、相対パス指定が使える

(3)バックアップ
mysqldumpコマンドを利用する
a)全バックアップ
$ mysqldump -A -u root -p パスワード --opt > ダンプファイル名

b)特定データベース名を指定してバックアップ
$ mysqldump データベース名 -u root -p パスワード --opt > ダンプファイル名

--optは全部入り
個別に指定することもできる
--add-drop-table    dropテーブルを追加

ダンプ時の文字コードを指定する場合は
--default-character-set=文字コード

c)データのみをダンプ

mysqldump -u ユーザ名 -e -c -t -p foo_db > dump.sql

d)指定条件(WHERE句の形式で指定)のデータたけをダンプ

mysqldump -u ユーザ名 --where="条件" -p データベース名 テーブル名 > ファイル名


(4)リストア
バックアップしたファイル名を標準入力から入れる

a)全データリストア
$mysql -u root -p パスワード < ダンプファイル名

b)特定データベースに設定
$mysql -u root -p パスワード データベース名 < ダンプファイル名


(5)select結果をファイルに出力
a) mysql上で
select * into outfile 'ファイル名' from テーブル名;

CSVで出力する場合は fields terminatedでセパレータに,を指定
select * into outfile 'ファイル名' from テーブル名 fields terminated by ',';

b) コマンドライン上で
$ mysql -e "select * from テーブル名" -u ユーザ名 -p データベース名 > ファイル名

(6)ファイルを取り込み
load data infile 'ファイル名' into table テーブル名;
CSVを取り込む場合は fields terminatedでセパレータに,を指定
load data infile 'ファイル名' into table テーブル名 fields terminated by ',';

2012年10月14日日曜日

Google Mapで吹き出し表示

Google Mapで吹き出し表示するには、  google.maps.infoWindowクラスを利用する。


 infoWindowのオブジェクトを作ってからopenメソッドで、表示対象とする地図オブジェクトを指定する。

      //オブジェクト取得
      info= new google.maps.InfoWindow({
        position: latlng,
         content: '吹き出しの内容'
      });
      //表示
       info.open(map);
   


contentには、表示する文字列を指定する。
HTMLのタグをつかえ、CSSクラスも指定可能。


吹き出しを表示しなくするにはcloseメソッドかopenメソッドにnullを指定する。
      info.close();
      info.open(null);

吹き出しの内容は後からsetContentメソッドで変更できる。
      info.setContent("あたらしい内容");


吹き出しの形はinfoWindowクラスのオプションでは変更できず、
オーバーレイのサブクラスを作るしかなさそう。



Javascriptで一定間隔で処理を実行

Javascriptの組込み関数であるsetIntervalを使う。
setIntervalへ、実行したい関数オブジェクトと、実行間隔をミリ秒で指定する。

        setInterval(関数オブジェクト,実行間隔ms);

例) 1秒毎に関数を実行
setInterval(
     function(){
        //処理
     }
     ,1000);

一回だけする場合は、setTimeout関数を利用する。


2012年10月13日土曜日

Google Map イベントに対する処理を指定

google.maps.event.addDomListener()を使う。;

google.maps.event.addDomListener(対象オブジェクト, イベント,イベント取得時に実行する関数オブジェクト);

google関連のオブジェクトはマニュアルにイベントが書いてある。  

Google Mapを調べてみた

1)Google 地図表示
    1)APIの取り込み
    <script src="http://maps.google.com/maps/api/js?sensor=true"></script>
     sensorの引数は端末GPSなど使うかの指定。true:利用
    2)DIVタグの用意
     *ID属性をつけないと指定できない
     width,heightで表示サイズを指定できる。指定しないと全画面?
     <div style="width:400px,height:300px" id="mymap"/>
    3)google.Maps.Mapクラスの生成(初期処理)
     var map = new google.maps.Map(document.getElementById('mymap'), myOptions);

     オプションとして、
        zoom:    表示倍率
        center:    中心位置   
        mapTypeID: 地図表示タイプ
      の3つは必要
     zoomは整数値で指定 (0ー19、数値が大きくなるほど拡大、小さくなるほど縮小)
      centerはgoogle.maps.LatLngクラスで緯度、経度を指定する。
     mapTypeIDはgoogle.maps.MapTypeIdクラスで定義されている定数を指定する
        ROADMAP:地図のみ
        SATELLITE:航空写真のみ
        HYBRID:航空写真+地図
        TERRAIN:地形
       
     4)google mapを表示するためのイベントを設定
      a) HTMlタグにイベントを記述
        <body onload="initialize();">
      b) Javascriptでイベントリスナーを登録
        google.maps.event.addDomListener()メソッドを利用して、イベントと、Javascriptの関数を指定する。
        google.maps.event.addDomListener(イベント対象オブジェクト, 'イベント名', 関数オブジェク
ト);
        例)ウィンドウ(ブラウザ)のロード終了時にinitialize関数を呼び出す
        google.maps.event.addDomListener(window, 'load', initialize);
   
2)任意位置に移動
    mapオブジェクトのsetCenter()メソッドを利用
   
    map.setCenter(new google.maps.LatLng(lat,lng));
    いわき駅:37.05846492309772,140.89227676391602
3)表示中地図の中心位置を取得
    map.getCenter()で、google.maps.LatLngが取得できる
    google.maps.LatLngからは
    緯度:lat(),経度:lng()
    でそれぞれ取得できる
4)マーカーを表示
    google.maps.Makerクラスを利用
    animationを指定すると、表示する際のアニメーションを指定することができる。
      var maker= new google.maps.Marker({
        position: new google.maps.LatLng(lat,lng),
        map: map,//表示したい地図
            animation:google.maps.Animation.DROP,
        title: 'いわき駅'
      icon:'images/sample.jpg'
      });