MapFragment

Androidアプリ上で地図を扱う場合、Google Maps Android APIを使う。

Add maps  |  Android Developers

以前はMapViewがあったが、現在は利用できないのでMapFragmentを使う。

これ
これ

で、まず前回JavaScript APIのキーを作成したが、それをAndroidで使うようにする。

Androidアプリ制限とkeytool
Androidアプリ制限とkeytool

Androidアプリに制限するのと、keytoolを使って、パッケージ名とフィンガープリントを登録しないといけない。
まずはプロジェクトを作成する。

プロジェクト作成
プロジェクト作成

Android Studioでプロジェクト作成。

Empty
Empty

Emptyで作成。

AppCompatなし
AppCompatなし

ここはAppCompatなし。

Project Structure
Project Structure

Project Structureで、

依存ライブラリ追加
依存ライブラリ追加

依存ライブラリ追加。

追加する
追加する

何かというと、

Google Play Services
Google Play Services

Google Play Services。

追加完了
追加完了

こうなる。
プロジェクトができたら、

C:\Users\bg1>keytool -list -v -keystore C:\Users\bg1\.android\debug.keystore -alias androiddebugkey -storepass android -keypass android
別名: androiddebugkey
作成日: 2016/02/05
エントリ・タイプ: PrivateKeyEntry
証明書チェーンの長さ: 1
証明書[1]:
所有者: CN=Android Debug, O=Android, C=US
発行者: CN=Android Debug, O=Android, C=US
シリアル番号: xxxxxxxx
有効期間の開始日: Fri Feb 05 11:56:43 JST 2016終了日: Sun Jan 28 11:56:43 JST 2046
証明書のフィンガプリント:
         MD5:  XX:XX
         SHA1: XX:XX
         SHA256: XX:XX
         署名アルゴリズム名: SHA256withRSA
         バージョン: 3

拡張:

#1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: XX
0010: XX
]
]


C:\Users\bg1>

keytoolでこのようなコマンドを実行し、SHA1の16進数を、

パッケージ名とフィンガープリント
パッケージ名とフィンガープリント

このように追加する。

あとは、プロジェクトに戻って、activity_main.xmlを、

こうする。MapFragmentを配置。

MapFragment  |  Google APIs for Android  |  Google Developers

MainActivity.javaは、

このように書く。

Androidアプリ上での地図表示
Androidアプリ上での地図表示

このようにマップが非同期で表示される。

Sample/gmapsandroid/MapFragment/MPF/MPF_ at master · bg1bgst333/Sample · GitHub

Map

Googleで地図を扱うにはGoogle Maps APIを使う。

Google Maps Platform  |  Google Developers

いろいろ種類があるが、このカテゴリではMaps JavaScript APIを扱う。

一覧
一覧

この中でMapsと入れると、

Maps
Maps

これ。

有効化
有効化

有効にする。

有効になった
有効になった

で、

認証情報
認証情報

新たな認証情報を

作成
作成

APIキーで作成。

新たに追加されたキー
新たに追加されたキー

このキーを、

ここのkeyに当てはめる。

こんな感じでinitMapでgoogle.maps.Mapオブジェクトを作成し、初期位置も設定。

Overview  |  Maps JavaScript API  |  Google Developers

このページをブラウザで開く。

指定位置を表示
指定位置を表示

指定した位置が表示される。

Sample/gmaps/Map/Map/src/Map at master · bg1bgst333/Sample · GitHub

まずB.G-STATIONとは何ぞや

B.G-STATION Advent Calendar 2017 1日目です。
adventar.org

まずは何ぞやって話です

まあ、B.G-STATIONは、僕が以前から運営していたというか運営しているサイトであり、同人個人サークル名でもあります。
B.G-STATION
車輪のx発明 ~B.G's Blog~

代表は僕であり、メンバーも僕だけですね。
(ちなみに、コミケでうちのスペースにもう一人座ってることがありますが、小学校からの友人でサーチケ代わりに午後店番とかやってもらってるのです。)

ホームページB.G-STATIONの誕生

高校の時に、科学部物理班という部活に入りました。
当時、コンピュータ教室が無かったのですが、理科講義室からPCの音が聞こえてました。
顧問の先生はロボット製作をしてて、僕らもそれをやってたこともあるのですが、先輩達は改造PC9821αにVisualBasic6を入れてゲームを作っていました。
それがプログラミングとの出会いでした。
僕もVB6+Win32でゲームを作ろうとしていましたが、割とすぐ挫折しました。
そして当時、家でCATVを導入したことで、インターネットができるようになりました。
ホームページスペースで最初に作ったホームページが初代のB.G-STATIONです。

B.G-STATION

これは初代じゃないですが、現存しているサイト・・・。ジオシティーズだから三代目かな・・・。
描いたイラストや作ったゲームを載せる予定でした。
イラストは載せましたが、ゲームは完成することがなかったので載せることはありませんでした。

同人ソフトサークルB.G-STATIONの設立

大学に入学した後、ゲーム製作関係のサークルに入りたくて、気になっていたAmusementMakers(以下AMと略します。)に入りました。

Amusement Makers

当時、東方紅魔郷とかでZUNさんとかが話題になり始めてた頃でした。
しかし、僕自身、東方シリーズは全く知らなかったし、AM出身とは全く知りませんでした。
また、TYPE-MOON月姫とか、葉鍵とか、ちょっとあとですがひぐらしがまだフリーウェアだった時代でもあります。

AMではノベル班に所属していました。
未来の描き方という同人ゲームがあったのですが、
ごく初期に背景を担当していました。というか正確にはする予定でした。
未来の描き方 - Google 検索
グラフィックを担当したのがいまや有名イラストレーターのカ〇トクさんで、彼のあまりのレベルの高さにレベルの低い僕が降りたというか降ろされたというかいろいろあってやることがなくなりました。
画力アップも兼ねて漫研にも入っていました。

並行して個人でゲーム作ってコミケで頒布しようとC66からコミケに申し込み始めました。
それが同人サークルとしてのB.G-STATIONです。

その後

C++ + DirectXでゲームを作り始めたのですが、挫折の連続・・・。
現在まで完成したものはありません・・・。
ああ・・・ダメすぎる人生・・・orz

卒業後も会社で忙しくしている間に、時代はC++ + DirectXからC# + Unityに・・・。
でもWin32APIにこだわりすぎてすっかり取り残されてしまいました。

同人誌を作ることもありました。いや、あの聖痕のクェイサー本は本当に黒歴史というか・・・。

そんな中、WindowsMobileからWindowsPhoneにハマり、廃れ・・・。

これから

そして今、また新たなスタイルでこのサークル及びサイトをやってるわけです。
どんなスタイルで何するのかって?
それを次回から書いていきます。

new

オブジェクトを生成するときはnewを使う。

オブジェクト(Object)

日付を取得したい場合は、Dateオブジェクトを生成する必要がある。
Dateオブジェクトdをそのままalert表示。

Dateオブジェクトdをそのまま表示
Dateオブジェクトdをそのまま表示

このように表示される。

Sample/js/new/new/src/new at master · bg1bgst333/Sample · GitHub

function

関数定義はfunctionで行う。

関数(Function)

引数はvarとか付ける必要もないし、型も引数名も自由。
戻り値も自由な形式で返せる。

2つの引数num1とnum2を足した結果を返す関数addを定義。
10と20を足した結果をalertで表示。

addの結果
addの結果

結果30が表示された。

Sample/js/function/function/src/function at master · bg1bgst333/Sample · GitHub

var

変数宣言はvarで行う。

構文

動的型付けなので、型を明示しなくてもいい。

整数aと整数bを足した結果をxに代入し、xを表示。
ここまでxは整数だが、その後にxに文字列"ABC"を入れて表示。

a(1) + b(2)の結果x
a(1) + b(2)の結果x

計算結果3が表示。

"ABC"が表示
"ABC"が表示

その後、"ABC"が表示される。

Sample/js/var/var/src/var at master · bg1bgst333/Sample · GitHub

Window.alert

Window.alertは指定されたメッセージ文字列などを警告ダイアログとして表示する。

ウィンドウ(Window) - とほほのWWW入門

文字列だけでなく、数値や式など様々なものを表示できる。

window.alertで1+2という計算式の結果を表示する。

1+2の結果
1+2の結果

1+2の計算結果である3が表示された。

Sample/js/Window/alert/src/Window at master · bg1bgst333/Sample · GitHub