2011年4月26日火曜日

[Android]MapViewではまり中 ⇒ 解決!


以前、困ってた投稿が解決できました
↓困ってたときの投稿
[Android]MapViewではまり中

問題1
Google Inc.のプラグインをインストールでエラー

解決法
⇒httpsをhttpでダウンロードするようにする

SDKManager.exeを起動して

 「Setting」のMiscの「Force http://... sources to be fetched using http;//...

にチェックを入れる


問題2
デバッグ実行時に↓
のエラー

Installation error: INSTALL_FAILED_MISSING_SHARED_LIBRARY



解決法
AVDのターゲットを「Google Inc.」にする。





おしまい。
よかった。

Disney スマートフォンアプリコンテスト開催

「あなたもディズニーと一緒に
スマートフォンアプリを開発してみませんか。」

ディズニージャパンさんがアンドロイダーさんの協力の下、
スマートフォンアプリコンテストを開催しました!!

その名も、
Disney スマートフォンアプリコンテスト
詳細はこちら

テーマは、

『女性のスマートフォン利用活性化を目的に、ディズニーをテーマにした、
Disney公式スマートフォンアプリを幅広く募集いたします。
今回のコンテストでは収益性の高さを考慮したアプリを中心に募集します。』



という訳でネタ募集。

ディズニーに限らず、
キャラクターアプリってどんなの使ってますか?
どんなキャラクターアプリだったら使いますか?
というところから何とかしたい。

2011年4月24日日曜日

[Android]MapViewではまり中

Androidで地図表示(MapView)しようとして、四苦八苦。

マニフェストに

<uses-library android:name="com.google.android.maps"></uses-library>

追加すると、

デバッグ実行時に


Installation error: INSTALL_FAILED_MISSING_SHARED_LIBRARY

のエラーが。

ライブラリがないからみたいなので、
SDK Managerから「Google Inc. ( dl-ssl.google.com)」をインストール。

が、途中でエラーが。
プログラムがフォルダにアクセスできませんよって、
ことなんだけども、管理者権限あるのになんでだろって感じです。

本当にこれで解決できるのかも分からないし、やぶへび状態なのかも。

あー、どうしよう。。
ってことを今日一日かけて解決できませんでした。

これからどうしよう

Google latitude

Google latitudeは、
自分の現在地を友人や家族と共有できるサービス。
http://www.google.com/intl/ja_jp/mobile/latitude/

ちょっと注目したのは、
「友だちの現在地を一目でチェック」
「チェックイン機能」

コレ使ってなにかAndroidアプリ作れないかなと思っていろいろ調べてみました。

で、APIがあった。
http://code.google.com/intl/ja/apis/latitude/v1/reference.html

けど、現在地と履歴しか取得できないみたい。
・Current Location Collection
・Location History Collection

なんかいい方法ないのかな。

2011年4月22日金曜日

Startups2011キックオフカンファレンス - 第三部 -

2011.4.22に行われましたサイバーエージェント・ベンチャーズさんによる
Startupsキックオフイベントのメモです
http://www.ustream.tv/channel/startups2011?lang=ja_JP

第三部
スマートフォンビジネスの
これからの開発技術について


登壇者
Adobe AIR
・・・膨大なFlashの資産がそのまま使える
・・・ツールが流用可能
・・・PC WEBやPCアプリにもそのまま展開できる

Titanium Mobile
・・・JavascriptのみでiPhone/Androidアプリを構築
     近々Blackberryにも
・・・UIはそれぞれのNativeを使用
Reloadボタンとか

Colona
・・・言語:Lua
・・・2D
・・・OpenUI
・・・OS固有の機能はない
・・・OPEN AL音声合成
・・・性能:40~60fps
・・・コンセプト:Write Once,
    Code Less, Play More
時間も短く

Unity
・・・ゲーム開発環境
・・・機能豊富
・・・開発用エディタが使い易い
・・・開発者45万人が利用
→参照できる情報が多い
→アドオンも多い

ここからはいろんなアプリを例にどうやってツールを利用するか
ソーシャルゲーム「Farm Ville」を例に

Adobe AIR
ソーシャルゲームが得意
考慮しないといけないのは、スマートフォン
アメーバピグにアイフォン版がない。
→外から動的なコードを読み取ることがNG
日本ではケータイソーシャルは、Flash Liteが多い。

コロナ
Flash Liteをうまくスマートフォンに入れよう。
→と集まったのが、コロナ。
AIRと同じ制限がかかる。
Flash Liteからコロナに移行するのに、コストはかからない。

Unity
3D、2Dもそんなに難易度変わらない。
ソーシャルの拡張をするのも、Greeと提携しているのでGreeのAPIで簡単にできる

Titanium
ゲームエンジンを採用していない。
こういうゲームを作るのは苦手。
モジュール(Object-C)と、
ソーシャルな部分をTitaniumでの使い分け。


Angry Birdsを例に
売り切り型のカジュアルゲーム

コロナ
基幹システム2日、あとはソースコードで書く
アメリカの中学二年生が作ったアプリ。バブルボール。
ピタゴラスイッチみたいなアプリ。700万ダウンロード。


Unity
システム作るのは大変じゃない。

Titanium
画面が動くのは苦手


ツールは何でもいい。スピード重視。

カジュアルゲーム=FLashが定番


「Chaos Rings」を例に
SQUARE ENIX
3Dゲーム

Unity
3ヶ月程度で作れる
コードをガリガリ書いていく訳ではない
見た目、キャラクタの動きとかから作る
スクリプトから作る

Titanium
3Dはできない。。
プラグイン作っている人がいれば、できるかも。

Adobe
3Dライブラリ:モールフィル

コロナ
2D専門。


Twitterクライアントを例に

Titanium
ネットにあるデータをどうやってユーザに見せるかが得意。
ツール系。
言語は、JavaScript。

Adobe

コロナ
あまりお勧めできない。

Unity
お勧めできない。


セカイカメラを例に
ARアプリの代表格

Adboe
AIRではできない。
来年くらいには。

コロナ
コロナを使ってARを期待しないで。

Unity
ARはQualcomと共同で
結構できるかも。

Titanium
iPhoneはオーバーレイがあるので、簡単にできる
マーカーを使ったARは比較的簡単にできる


質疑応答
「Titaniumとネイティブで同じアプリで開発作ったがサイズが異なった。
どれくらいサイズが変わってくるのか。」

Adobe
ランタイムがサイズ大きい

コロナ
解像度対応用にサイズ大きくなる
イメージをバシバシ入れるとそれだけ増える

Unity
HelloWorldで18MB

Titanium
ランタイム、ライブラリをリンクしてパッケージ。
2,3MB。圧縮しないと6,7MB



スピードとのトレードオフ

Startups2011キックオフカンファレンス - 第二部 -

2011.4.22に行われましたサイバーエージェント・ベンチャーズさんによる
Startupsキックオフイベントのメモです
http://www.ustream.tv/channel/startups2011?lang=ja_JP

ちょっとメモ取れていないので、アーカイブがされれば、
ちゃんと更新します。

第二部

Startupベンチャーの成長を加速させる
エンジニアパワー


登壇者
渡辺薫氏

RainbowApps
メディア事業
開発者支援事業
ITスクール


八木氏
株式会社インサイトプラス


新規の顧客を獲得してきたが、今後はリピートを増やす。
リアル店舗に対して、レコメンド・キャンペーンを増やす。

柳沢氏
面白法人カヤック

うんこ演算


パンカク

フロンティア、世界一を狙う
スマフォに注力



メモ
エンジニアがどれだけビジネスチャンスだと思えるか。
エンジニアのやる気に火をつける
日本はガラケーが繁栄、アメリカは低機能→スマフォのギャップ
いいものを作ることで、よいエンジニアが集まる

エンジニアは宝、強みを持って出す

Startups2011キックオフカンファレンス - 第一部 -

2011.4.22に行われましたサイバーエージェント・ベンチャーズさんによる
Startupsキックオフイベントのメモです。


Startups2011概要


サイバーエージェント・ベンチャーズ

日本・中国・ベトナム・台湾・インドネシア・アメリカの有望な会社に投資

コンセプト
技術と若い力で日本をかっこよくする
インターネットサービスを100こつくる

エンジニア、アイディア、企業家を集う場を作る。


スマートフォン領域に最注力。
グローバル展開のサポートも。

募集部門
1.スマートフォン部門
2.Next Innovation部門


1.個人応募
エンジニア・クリエーターで事業を作りたい

2.チーム応募
2名以上のメンバー

3.企業応募

4.個人登録
アイディアないけど、協力したい


中国のAndorid市場
「Mappn」のCFOの戴氏によるプレゼン

2010.1 Google中国撤退

概況
500万台販売。今年1000万出荷予定

4000以上のデベロッパー

2000000のDailyアプリケーションのダウンロード
14000のアプリケーション(google Market 10%以上)
30前後のアプリストア

70%はHTC,MOTO,サムソン
OS:2.1 2.2

人気アプリ
ソーシャル、ニュース

オンラインゲームはマネタイズへの期待が高い
Googleチェックアウトは使えない
→課金チャネル Alipay

スマホソーシャルゲームの課金が増え始める

どんなアプリが売れる?
(1248億円:市場規模(2013年予想
ゲーム(30%)
海賊版の問題。アイテム課金が主流。
ダウンロード販売は×。
中国人はファーム系、MMORPGゲーム、Webゲーム(オンラインSLG)


モバイルサービス
プラットフォーム作って、課金するソーシャル系
ニュース、天気予報の情報系
カメラ、カレンダーの機能系


中国でのアプリのプロモーション
APPストア以外で4割以上がDLしている


amebaのスマートフォン戦略
サイバーエージェント 長瀬 慶重氏

Amebaについて
amebaのアクセス
月間200億pv

スマホのpv 3月は8.8億pv

月間ログイン 60万ユーザー
iPhone版アプリ 67万DL
Android版アプリ 11万DL

スマホからのアクセスは20代が多い(50%)、10代が少ない(20%)
PC、ケータイからは20代(30%)、10代(30%)

「Ameba」のスマートフォン戦略
・デバイスハイスペック
・ブロードバンド安定
・アプリが主役
→ライフスタイルの変化
ユーザニーズの多様性

3つの柱
1.スマートフォンメディア
2.内製アプリ、ヒットアプリ100本
3.スマフォ向けプラットフォーム

1.スマートフォンメディア
PC併用が50%

AmebaのPCサービスの強みを生かす
アメブロ ←スマフォ対応強化
アメーバピグ  ←スマフォ対応強化
グルっぽ ←スマフォ対応強化


2.内製アプリ、ヒットアプリ100本
以下の分野に重点
・ソーシャル
・ゲーム
・エンタメ
・教育・ユーティリティ

↓にも注力
女性向けアプリ
芸能人・有名人アプリ


3.スマフォ向けコミュニティプラットフォーム
・ソーシャル
・ゲーム
・ライフスタイル
・エンタメ
・教育

3つのサポート
1.開発支援
2.プロモーション
3.マネタイズ

1.開発支援
ソーシャルゲーム開発API
ソーシャルメディア連携API
→Twtitter、Facebook、
Ameba連携API(Ameba APIs)

APIを公開していく
iOS向けSDK 5月
  Android向けSDK 11月


2.プロモーション
集客できるか否かが重要
ウェブとアプリの規模を活かした
・多様なプロモーションソリューション
クチコミサイト
フラッシュマーケティング
リワード広告
ADネットワーク「AmeAD」 etc

・規模を活かしたプロモーション
Web閲覧面
マイページ
アプリ

3.マネタイズ
・課金収益、広告収益

2011年4月21日木曜日

[TIPS]Google Fusion Tables - Documentを読んでみる3 -

前回からの続きです。
[TIPS]Google Fusion Tables - Documentを読んでみる1 -
[TIPS]Google Fusion Tables - Documentを読んでみる2 -


「Google Fusion Tables」の
日本語のリファレンスが見当たらないのと情報が少ないので、
仕方なく英語のドキュメントを読んでみました。
※なんとなく感覚的に理解→翻訳しているので、
原文とは異なる意味となっていると思われるので注意!


  • Updating a row
UPDATE文で列を更新する
ベーステーブルを更新すると、ビューやマージテーブルにも反映される
更新する前に
・rowID知ってる?(知らないければ、SELECT文で取得可能)
・更新する列名知ってる?(知らなければ、DESCRIBE文で取得可能)

rowIDと値が指定されてたら、データが更新される。
マージテーブルではキー列の値を更新できない。
キー値を更新したかったら、ベーステーブルで行う
変更はマージテーブルにも反映される


  • Deleting rows
1行or 全ての行の削除。
DELETE文。
単一行を削除するにはrowIDが必要
ベーステーブルに対して行を削除すると、ビューやマージテーブルに反映される
ビューから行が削除される
  • Deleting a table
テーブルを削除する
DROP TABLE文。
ベーステーブル、ビュー、マージテーブルを削除

削除の前に
・tableIDを知っている?(知らなければ、SHOW TABLES使う)
ベーステーブルを削除すると、ビューやマージテーブルにも反映される
ビューは、全ての行が存在しない空のビュー。
マージテーブルは、全ての行が存在しない空のテーブル。

  • Working With Geographic Data
FusionTablesは位置情報データベースとしても使える。
FusionTablesのウェブを共有したり、KML出力したり、ウェブサイトに組み込んだりできる

データベースの位置情報で空間問い合わせもできる。
→ここ参照(Spatial Queries Reference

Google Maps APIからの呼び出しもできる。



おしまい

飛ばしている(翻訳してない)箇所も多いです。
ちょっとした概略でもわかって貰えればと思います。
詳しい情報については、原文を参照ください。
http://code.google.com/intl/ja/apis/fusiontables/docs/developers_guide.html

2011年4月20日水曜日

SafeAreaChecker for Webリリース

Cactus AppsさんがAndroid向けリリースしている
「SafeAreaChecker」のWeb版を作成しました。

リンク:http://choosy.6.ql.bz/safeareachecker/



・福島原発から現在地の距離を表示。
・福島第一原発から20km、30kmに円を表示。
・福島第二原発から10kmに円を表示。
・計画的避難エリア、緊急時避難準備エリア表示。
・全国の放射線量を表示


Androidだけでなく、iPhoneアプリもリリースされています。
iPhoneユーザの方は無料ですので、ぜひ使ってみてくださいm(__)m
iPhone版

ご意見・ご要望がございましたら、コメントお願いします。

[TIPS]Androidのエミュレータでネットに接続できない

Androidのエミュレータ(Emulator)を起動しても、
ネットに接続できなくて困ってました(アンテナのところが×になる)が、
対象方法が分かったので、ご紹介します。


原因:
エミュレータのDNSの設定が正しくなかった。

対処方法:
エミュレータのDNSを正しく設定する。

環境:
Windows Vista SP2

手順:
1.コマンドプロンプトを起動します。
(管理者権限で実行した方がよいかも)

2.以下のコマンドを打ちます。
 adb shell

3.DNSの設定を確認します
 getprop net.dns1
 getprop net.dns2
→空白が表示され、値が設定されていません

4.DNSを設定します
 setprop net.dns1 192.168.1.1
→DNSのアドレスは使用するPCによって異なります。
※コマンドプロントからipconfig /allで確認できます。


5.エミュレータを再起動します。
→インターネットに接続できました。

2011年4月18日月曜日

[TIPS]Google Fusion Tables - Documentを読んでみる2 -

前回からの続きです。
[TIPS]Google Fusion Tables - Documentを読んでみる1 -

「Google Fusion Tables」の
日本語のリファレンスが見当たらないのと情報が少ないので、
仕方なく英語のドキュメントを読んでみました。
※なんとなく感覚的に理解→翻訳しているので、
原文とは異なる意味となっていると思われるので注意!


参照:「Developer's Guide
http://code.google.com/intl/ja/apis/fusiontables/docs/developers_guide.html
(2011.04.18時点)

  • Exploring tables
SHOW TABLES と DESCRIBEでテーブル情報を取得
SELECT文ではtableIDと列名で構成
INSERT文、UPDATE文は列のデータ型と値の型を知っておく

SHOW TABLESで現在のユーザがオーナーのtableIDを取得

DSCRIBEでテーブルの情報(列名・型)を取得

  • Creating a table
新しいtableを作る
手動でGoogleFusionTablesからtable作らないで、データアップロードでできるので便利
CREATE TABLE文に成功するとtableIDが返却される

サーバと認証するためのアカウントとテーブルを作るのに必要な権限が必要
  • Creating a view
新しいViewを作る。
Viewにアクセスする権限が必要。

CREATE VIEW文に成功するとtableIDが返却される


  • Querying for data
SELECT文を使って条件にあったデータを見つける
使用例:
ダウンロードして使う
行を取得して更新・削除する

クエリーを使う前に・・・
tableIDを知ってる必要がある。知らないなら、SHOW TABLESを使う。
テーブルの列名を知ってる必要がある。知らないなら、DESCRIBEを使う。

クエリーするための準備
クエリーでは2つの順番を指定する必要がある
1つは、クエリー結果に含まれる行データの順番が条件と一致していなければならない
もう1つは、クエリー結果に含まれる行からどの列か指定しなければならない

列名にスペースが含まれていた場合注意
UPDATE、DELETEではrowIDが必要。クエリーに一致したrowIDを取得する。

  • Adding rows
行を追加。INSERT文。
テーブルが存在していること。
tableIDを持っていること。(SHOW TABLESで取得可能)
全ての列の名前を知っていること。(DESCRIBEで取得可能)
INSERTに成功したら、rowIDを返却
INSERTされた行はVIEWやマージテーブルにも追加される。
INSERTはテーブルのみ。(VIEWやマージされたtableは不可)
HTTPリクエストの最大サイズは1MB
INSERTの最大リクエスト数は500


まだ続きます。(次で最後)

    2011年4月17日日曜日

    退職後のあれこれ - 就業手当・再就職手当 -

    退職前に調べておけばよかった手当てについてです。

    失業手当ばかりに目が行ってましたが、
    就職が決まった・事業開始したなどのときにも、手当てが支給されるみたいです。

    ・就業手当
    ・再就職手当

    調べておけばよかったなぁ。
    ハローワークとかに行っておけば、教えて貰えたのかもね。
    残念

    2011年4月16日土曜日

    広島アキハバラ塾セミナーに行ってきた

    ”広島アキハバラ塾”のセミナーに行ってきました。
    (ちょっとネーミングは怪しいですが。)

    ”広島アキハバラ塾”とは、
    広島市主催のネット販売による起業・事業拡大を支援する取組みの一環です。
    4年?ほど前から続いているようです。

    今回は、第8期生の募集に合わせて、
    セミナーが開催されていましたので参加してみました。


    内容は、
    1.塾生3名による発表
    2.塾長によるまとめと今後の展開
    でした。



    1.塾生3名による発表

    1人目は、オーロラカメラの太平さん。(60歳代)
    http://auroracamera.web.fc2.com/

    もとは、中古車販売の営業。
    ほぼネットやパソコンの知識はない状態だったが、
    なんとかショップサイトを作成。
    とにかく商品の写真を多く掲載し、説明文も大切にするとよいとのこと。
    →問い合わせが増えた。

    売り上げの8割はネット販売。
    なんで売れたのか、なぜ売れないのかを意識している。


    2人目は、スミコ商事の宮下さん(60歳代)
    http://sumiko-shop.biz/

    穀物販売のショップサイト運営。

    当初は、あれもこれも売ろうとして何を売りたいのかと指摘受けた。

    パソコンも初心者で
    教えてもらったこともなかなか覚えられなかった。

    お店はネットショップのみ。
    在庫は持たないドロップシッピング方式。

    初めて商品が売れたときは嬉しかった。


    3人目は株式会社ナカヤの梶村さん。(30歳代?)

    ネットショップ運営で意識していること。
    →きれいな写真が必要か?
    →商品数が必要か?
    →SEO対策が必要か?

    そのジャンルでの専門家になること。(No.1でなくてよい)
    ネットは調べ物の道具として使われるので、No.1以外の人の情報も目にする。
    高い専門性はアクセス増に繋がる。
    プロフィールによって、高い専門性をアピールする。
    新しい切り口・独自性は、価格競争に巻き込まれない。

    知ってもらうことの重要性。

    一番売れている商品を売る。
    →売れない商品を売るには労力がかかる。

    成功の秘訣
    ・行動すること
    ・成功者を真似ること
    ・専門家になること


    2.塾長によるまとめと今後の展開
    塾長こと河口知明(@kohguchi)さん(60歳代)
    http://d.hatena.ne.jp/artdirect/

    ネット販売で広島から関東(4割)、関西、中部へお金が流れている(Amazon、楽天などへ)
    生産地(広島)から独自に販売することで外貨を獲得する
    →広島からネット販売により、関東、関西、中部に売るモノを考える。

    現代はネット販売により、初期コストがかからない。

    HPは簡単に作れるが、作るだけでは売れない。
    →販売する手法をどうするかが大事

    年配の人は、もっと自分たちのノウハウを若者に伝えるべき。
    何歳になってもできないことはない。(やる気があれば)

    商材研究室・・・何を売るかを研究
    観光イベント・・・広島を盛り上げる
    地域おこし・・・地域の特性を利用する

    ネットは日本だけでなく、世界と通じている。
    日本はもっと日本文化を売るという発想が大事。
    (伝統工芸品、コスプレ、アニメなど)



    所感
    地方での実店舗の販売はしんどいのかなと。
    その地域に閉じてしまうので、規模が小さい。

    その点ネットは地域を越えるし、規模は広い。
    それ故、どうやって知ってもらうかが重要なのかなと。

    60歳代のお二方のお話しを聞いて、
    共通して「自分で作ったサイトで物が売れたのが嬉しかった。」とおっしゃられていたが、
    この自分で作ったものが評価される感覚。忘れてたな。
    発表する姿に純粋さが垣間見れて、心に響いた。

    あとは、塾長の方から溢れるエネルギーはすごかった。
    バイタリティあるなと。見習いたい。

    [TIPS]Google Fusion Tables - Documentを読んでみる1 -

    (23:30)
    「Google Fusion Tables」ってまだbeta版なんですね。

    日本語のリファレンスが見当たらないのと情報が少ないので、
    仕方なく英語のドキュメントを読んでみました。

    まずは「Developer's Guide」から。
    http://code.google.com/intl/ja/apis/fusiontables/docs/developers_guide.html
    (2011.04.15時点)



    • Audience(対象者)
    Fusion Tablesとの対話するクライアントアプリ作る人向けですよ。
    以下の知識を知っててね。
    ・HTTPリクエストを含むWebアプリ
    ・GET、POSTの送信方法。
    ・CSV形式をパースする方法。クエリの結果はCSVだから。

    • Terminology(用語)
    repository
    テーブルのソース(元)となるデータ。CSVとスプレッドシートに対応。
    base table
    元データをアップロードして作られたテーブル。
    merged table
    2つ以上のテーブルを結合したテーブル。
    マージ(結合)はSQLで言うとこの「left outer join」で行う
    view
    base tableにいろんな条件でフィルタをかけて作られたテーブル

    • Writing a Google Fusion Tables API application
    APIでできること。(取得、挿入、更新、削除。)
    クライアントからHTTPリクエストでGET or POSTする。
    好きな言語でHTTPリクエストして。
    • Knowing which API calls you can use(知っておくこと)
    共有権限をPublic or Unlistにしてると認証なしにテーブルにクエリ実行できる
    テーブルを出力不可にしてるとテーブルオーナーしかアクセスできない
    認証時にアプリの情報、アクセスレベルを確認します

    • Best practices
    rowIDは連続してないかも
    rowIDは数字じゃないかも
    SELECT文使うときは、どの列もIDになる。(列名がテーブルに存在してれば)

    • Design constraints
    リクエストの最大サイズは1MB
    1秒あたり最大5リクエスト

    • URL encoding
    UTF-8エンコード。
    • Authentication
    Public、Privateなテーブルで使える。
    Private、出力不可のテーブルは、API要求時に認証しておく
    Public、出力可のテーブルは認証なしにAPI使える
    認証方法は、ClientLogin、OAuthをサポート

    (0:30)
    明日に続きます。

    [TIPS]Google Fusion Tables - Documentを読んでみる2 -

    2011年4月15日金曜日

    [TIPS]Google Fusion Tables - Map埋め込み -

    最近、
    Google Fusion Tablesについて、いろいろ調べてるんですが、
    これって結構使えるんじゃないかと思ってきたので、
    少しずつ情報アップしていきたいと思います。

    javascript使わなくても、HTMLやブログに埋め込んだりできます。



    手順は
    1.FusionTablesのホームに移動します。
    http://www.google.com/fusiontables/Home

    2.事前に作っておいたTableを選択します。

    3.「Visualize」-「Map」を選択します。
    ※Table内に緯度経度やKMLデータが含まれている場合。
    →指定座標にマーカー表示されます。

    4.マップの上の「Get embeddable link」をクリックします。

    5.コード(iframeタグ)が表示されるので、コピーします。

    6.お好きなブログやHTMLに貼り付けます。

    おしまい

    テーブルが共有(Share)されてなかったら、表示されないので注意

    2011年4月14日木曜日

    [TIPS]福島県の市区町村データ

    Google Fusion Tablesに福島県の市区町村のデータをアップしました。
    「Fukushima Pref. City Boundary」

    情報元は、国土交通省の国土数値情報データです。
    一応、Publicで公開しています。

    こんな感じ。


    JavaScriptから指定する場合は、以下のコードを実装するだけ。
    var layer = new google.maps.FusionTablesLayer(697854, {suppressInfoWindows:false});
    layer.setMap(map);




    Filterかけると、特定の市or町だけ表示できます。
    ※下は会津若松市でフィルタかけています

    JavaScriptではQueryを指定します。

    var layer = new google.maps.FusionTablesLayer(697854, {query: "SELECT geometry FROM 697854 WHERE description = 07202" suppressInfoWindows:false});
    layer.setMap(map);



    ※複数の市を指定するのはどうすればよいんだろう・・・。
    "SELECT geometry FROM 697854 WHERE description = 07202 OR description = 07214"

    "SELECT geometry FROM 697854 WHERE description IN( 07202 , 07214)"

    ではできなくて・・・。







    だれか教えてm(__)m

    2011年4月13日水曜日

    [TIPS]PHPでファイル出力する方法

    PHPのお勉強中です。

    知ってる人にとっては常識と思います。
    自分への備忘なので読み飛ばしてください。

    やりたいことはとあるファイルの内容を特定の場所に保存したい。
    今回は保存する場所は、phpと同じ場所です。

    注意するのは、事前に保存するファイルに書き込み権限を付与しておくこと。
    ※フォルダに書き込み権限あれば、ファイル用意してなくてもいいかも。

    <?php
    // 保存時のファイル名
    $newfile = "./newfile.txt";
    // 取得するファイルパス
    $path = "http://www.xxxx.co.jp/oldfile.txt";

    // ファイルの内容を取得します
    $temp = file_get_contents($path);

    if($temp != '') {
    // 保存先のファイルを書き込み権限でOpenします
    $fh = fopen($filename, "w");
    // 排他ロックかけます
    if(flock($fh, LOCK_EX)){
    // ファイルに書き込みます
    fwrite($fh, $temp);
    // 排他ロック解除します
    flock($fh, LOCK_UN);
    }
    // ファイルCloseします
    fclose($fh);
    }
    exit;
    ?>

    病弱じゃないんだけど

    なんか更新できてないです。

    流行り目(流行性角結膜炎)再発したり、
    風邪ひいて熱出てだるかったりな状況です。

    流行り目は、
    感染力強くて学校・会社に行っちゃだめな病気です。
    目やにがひどくでます。目が開けられないくらい。。
    去年の12月も子供共々かかったんですが、今回はなぜか私だけ・・・。
    Why?

    小学校とかではなってる人いたけどな。
    社会人になってなってる人は聞いたことない。
    眼科行っても最優先で対応して、帰されます。
    (支払ったお金もアルコール洗浄されるとかされないとか)

    感染した場合、
    ・洗濯物は別にする。
    ・お風呂は一番最後。
    ・タオルとかも共用しない。
    ・とりあえず、何かするたびに手洗い&アルコール除菌

    気をつけましょう。

    2011年4月9日土曜日

    [TIPS]JavaScriptから他ドメインのファイルにアクセスする方法

    (21:04)
    長いタイトルになってしまいましたが・・・。
    内容も長い・・・。

    JavaScriptを使うと、
    自ドメインのファイルにはアクセスできますが、
    他ドメインのファイルにはアクセスできない。
    という仕様があります。(最近知ったけど)

    それで今回は、
    phpを呼び出して、
    その中でファイル取得して、
    JavaScriptで処理する。
    という方法をやってみました。

    参考にしたURLはこちら。(大変助かりました、ありがとうございます)
    必ず得するかもしれない一言」さんの「javascriptからphp呼び出し」という記事。
    http://blogs.yahoo.co.jp/koga2020/49620713.html


    用意するのは、HTMLとPHPファイル。

    今回は起動(body onload)時に処理を行うようにしています。
    ※ボタン用意してクリックしたらという動作も可能

    1.【html】<body onload>でgetData()呼び出し
    2.【html】getData()内で値を設定し、実行
      →php実行
    3.【php】callback名、引数名を取り出し
    4.【php】他ドメインのtxtを取得
    5.【php】改行コードを変換
    (変換しないとエラーになります)
    6.JavaScriptを実行する処理を設定($htmlに値をセット)

    ココが肝心なところ
    parent.'.$callback.'("'.$data.'");

    parentは現在のフレームから他フレームを参照します。
    現在のフレームは、【html】"getdata_Frame"のこと
    他フレームは、【html】"form1"のこと


    つまり、"form1""callback"を呼び出しますよの記述

    7.【php】echoで$htmlを出力(実行)
    8.【php】終了
    9.【html】"form1""callback"に設定されたgetdata_callback()を呼び出し
    10.【html】getdata_callback()で引数(newdata)にtxtの取得結果が設定されている


    以下は参考ソースです。(動作確認してないので、動かなかったらごめんなさい)


    index.html
    <html>
    <head>
    <script type="text/javascript">
    <!--
    // php実行後に呼び出される関数を作成
    function getdata_callback( newdata ){
    //php実行後の処理を記述
    }

    // php呼び出す関数を作成
    function getData(){
        // php実行後に呼び出される関数を設定
    document.getElementById("form1").callback.value = "getdata_callback";
        // php実行時に値を渡す場合は設定
    document.getElementById("form1").arg1.value = "値は任意";
        // php呼び出し
    document.getElementById("form1").submit();
    }


    // 起動時に呼び出す関数を作成
    function initialize() {

        // phpを呼び出す関数をコール
    getData();
    }
    -->
    </script>
    </head>
    <!-- php呼び出しのイベント。body onloadでなくても良い -->
    <body onload="initialize()">
    <!-- php呼び出し用のform。
       id    :任意
       action :用意したphpファイルを設定
       target :phpからform1のcallbackにアクセスするために必要
       method:phpから結果を受け取るので、必ず"post"を設定
     -->
    <form id="form1" action="getdata.php" target="getdata_Frame" method="post">

    <!-- php実行後に呼び出す関数名を格納する用 -->
    <input id="callback" name="callback" type="hidden">

    <!-- php実行時の引数を格納する用 -->
    <input id="arg1" name="arg1" type="hidden">
    </form>
    <!-- phpからform1のcallbackにアクセスするために必要 -->
    <iframe id="getdata_Frame" name="getdata_Frame" style="width:0;height:0;visibility:hidden" tabindex="-1"></iframe>
    </body>
    </html>

    getdata.php

    <?php
    //JavaScriptから受け取った値の取り出し
    $callback = $_POST["callback"];
    $arg1 = $_POST['arg1'];

    //アクセスするファイルを設定
    $path = "http://www.xxxx.co.jp/zzzz.txt";
    //ファイルの内容を取得
    $temp = file_get_contents($path);

    //改行コードを変換(CR削除)
    $data = str_replace("\r",'',$temp);

    //改行コードを変換(LF→\n)
    $data = str_replace("\n",'\n',$data);

    //JavaScriptのコードを呼び出し
    //取得結果($data)はcallbackの引数に設定
    //これで値を受け渡せる
    $html = '<script language="JavaScript">

    parent.'.$callback.'("'.$data.'");
    </script>
    ';
    echo $html;
    //php終了
    exit;
    ?>

    (22:28)

    いいわけ

    何もしてない訳ではなかったけど、
    ブログ更新できませんでした。

    木金は子供が熱出し保育園休んだので、
    まともにパソコンの前に座れませんでした(←言い訳)

    いろいろやりたいことあるけど、
    ぜんぜん動けてないのが現状で、
    時間はあるはずなのに、
    いまいち成果がでてないことへのフラストレーション。

    理想と現実で違うってことが分かった一週間でした。
    まだペースがつかめてないからだと思いますが。

    2011年4月5日火曜日

    [TIPS]Google Fusion Tables

    GoogleさんにFusion Tablesというサービスがありました。
    http://www.google.com/fusiontables/Home

    簡単に言うとデータテーブルを作れて、公開したりできます。

    作ったデータは、
    Map表示したり、時系列に表示したり、いろいろできるようです。

    とりあえず、
    Mapに表示する方法を試してみました。
    といってもスクリプトに3行追加するだけ。


    var layer = new google.maps.FusionTablesLayer(テーブルのID);
    layer.setQuery("SELECT Location FROM テーブルのID");
    layer.setMap(map);

    ※テーブルIDは、Fusion Tables の「File」-「About」にある、IDを記述します。

    表示する内容やデータは、事前にViewを作成して、そのIDを指定すればよいです。


    2011年4月2日土曜日

    [TIPS]Google Maps API

    (10:45)
    SafeAreaChecker for Web」を作るときの技術メモです。

    Google Maps API には、いろんな種類があります。

    ・Maps JavaScript API
    ・Mpas API for Flash
    ・Google Earth API
    ・Static Maps API
    ・Webサービス
    ・Maps Data API

    それぞれ特徴があります。詳細は下記を参照ください。
    Google Maps API ファミリー

    今回はその中から、「Maps JavaScript API」を選んでます。
    Maps JavaScript APIには、バージョン2と3がありますが、バージョン2は廃止されました。
    今後は、バージョン3に移行していく必要があります。
    (インターネット上にはまだまだバージョン2のコンテンツが存在してますが。)

    という訳で、Maps JavaScript API V3で作りました。


    ・Mapを表示する[参考URL:Google]
    ・Mapにマーカーを表示する[参考URL:Google]

    ・Mapに画像を重ねる(グラウンドオーバーレイ)[参考URL:Google]

    ・Mapにラインを引く[参考URL:Google]

    ・Mapに円を描く[参考URL:Google]

    ・Mapのイベントを追加する[参考URL:Google]

    ・情報ウィンドウを表示する[参考URL:Google]

    ・地点間の直線距離を計測する

    Math.round(Math.sqrt(Math.pow((latlng1.lat()-latlng2.lat())*111, 2) + Math.pow((latlng1.lng()-latlng2.lng())*91, 2)), 1);
    ・初回表示時に現在地を取得する[参考URL:Google]

    ・ブラウザの言語設定取得する[参考URL:@masuidrive blogさん]


    デバッグは、”mozilla FireFox”が便利。(Firebugというアドオン入れる)

    動作確認は、Goole Chrome、mozilla FireFoxでしかしてません。。(IE未確認)

    (11:45)

    2011年4月1日金曜日

    TOYOTA SOCIAL APP AWARD

    TOYOTAがソーシャルアプリのコンテストを開催しています。
    http://toyota-app-award.jp/index.html

    テーマは、「クルマをもっと楽しくする」

    プラットフォームは、以下の3部門
    ・PC
    ・スマートフォン
    ・ケータイ

    最優秀企画賞には開発支援金が!!


    こういう企画とかに参加したことないので、
    挑戦してみようかなと思います。

    クルマに乗ってて、
    何が楽しいかとか、
    これがあったらとか、
    マンガでこういうのあったとか、
    思いついちゃったものがあれば、教えてくださいm(__)m
    (くだらないのとかも歓迎!!)

    事務手続き

    今日は事務手続きしてきました。
    いろいろ調べたので、そのまとめです。

    サラリーマンから退職した際にしないといけないこと
    ・健康保険の切り替え
    ・年金の切り替え

    フリーになるにあたってしておくこと
    ・開業届け
    ・青色申告届け


    「健康保険の切り替え」
    会社で入っていた健康保険組合から脱退するので、
    ”国民健康保険”か”健康保険組合”に加入する必要があります。

    国民健康保険(通称:こくほ)に切り替える場合、
    退職時に貰う”健康保険資格喪失証明書”が必要です。
    手続きは、役所に行けばしてくれます。

    健康保険組合(通称:けんぽ)に加入する場合、
    今まで入っていた”けんぽ”に引き続き加入できる制度があります(任意継続)
    手続きは、各けんぽのHPに申請書があるので、記入して提出します。

    どちらにもそれぞれメリット・デメリットがあります。
    金額とか制度とか

    結局どちらを選んだかというと、金額的に安かった”けんぽ”選択しました。


    「年金の切り替え」
    役所に年金手帳を持っていけば、切り替えてくれます。
    扶養者がいる場合、扶養者の分も切り替える必要あり。


    「開業届け」
    正式名称は、”個人事業の開廃業等届出手続”です。
    申請書は、国税庁のHPにあります。

    もうひとつは、
    ”所得税の青色申告承認申請手続”という書類。
    こちらも申請書は、国税庁のHPにあります。

    これは、経費を65万まで認めてください。という申請書。
    ただ、複式簿記で記入して、納税時に添付する必要があります。

    記入した最寄の税務署の窓口に提出します。
    2部作成しておくとよいです。1部は控え。
    (中身はぜんぜんチェックされてなかったです。。)

    手続きはあっという間で、税務署に1分もいなかった・・・。
    でも、なんか頑張ろーという気持ちになります。

    つまらない内容になって、すません。