戌印-INUJIRUSHI- (Androidあれこれ)

Androidのプログラミングをメインにしてます。記事に貼られたソースコードはダブルクリックすることで行番号をはずしてコピーすることができます。

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
08

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

MapFragment を静的に実装する(レイアウトXML定義)

MapFragment / SupportMapFragment を静的に実装(レイアウトXMLで定義)するには <fragment> タグを使います。


MapFragment を使うには Google Play Services (rev.3 ~) のライブラリ・プロジェクトが必要です。
まだ作成されてない方は以下の記事を参考に作成してください。
Google Maps Android API v2 試してみた
Google Maps Android API v2 導入の仕方


レイアウトXMLで定義できる情報は以下のとおり。

【構文】(例として東京駅を中心とした値を入れています)
<?xml version="1.0" encoding="utf-8"?>
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:map="http://schemas.android.com/apk/res-auto"
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
class="com.google.android.gms.maps.SupportMapFragment"
map:cameraBearing="20.0"
map:cameraTargetLat="35.681382"
map:cameraTargetLng="139.766084"
map:cameraTilt="60.0"
map:cameraZoom="15.0"
map:mapType="terrain"
map:uiCompass="false"
map:uiRotateGestures="true"
map:uiScrollGestures="true"
map:uiTiltGestures="true"
map:uiZoomControls="true"
map:uiZoomGestures="true" />
【構文の実行結果】
MapFragment_xml_layout.png
構文の layout.xml を Activity#setContentView(int layoutResID) から呼ぶだけでOKです。
この Activity は Fragment を有した Activity (Android 3.0~ or FragmentActivity) です。

【要素】
<fragment> タグで MapFragment を指定する場合には以下の class 指定を行います。
class="com.google.android.gms.maps.MapFragment"
or
class="com.google.android.gms.maps.SupportMapFragment"

Android 3.0 (API 12 HonyComb) 以上のみを対象とする場合は MapFragment
サポートパッケージを利用する場合は SupportMapFragment を指定します。

map 要素を使うには、xmlns:map を指定する必要があります。
xmlns:map="http://schemas.android.com/apk/res-auto"

【map 要素】
map:cameraBearing="[float]"
カメラの向き(東西南北)。
北から時計周りの角度を指定します。

map:cameraTargetLat="[double]"
地図の中心となる座標(緯度)。

map:cameraTargetLng="[double]"
地図の中心となる座標(経度)。

map:cameraTilt="[float]"
カメラの角度(傾き)。
地図を真上から見た位置を0として傾ける角度を指定します。

map:cameraZoom="[float]"
カメラのズームレベル。
大きいほど拡大表示されます。

map:mapType="[none | normal | satellite | terrain]"
マップの表示種類。
"none":無し、"normal":標準、"satellite":衛星写真、"terrain":地形図
XMLから hybrid は指定できない(エラーになる)

map:uiCompass="[true | false]"
コンパスの有効/無効。

map:uiRotateGestures="[true | false]"
ジェスチャーによる地図の回転の有効/無効。

map:uiScrollGestures="[true | false]"
ジェスチャーによる地図のスクロールの有効/無効。

map:uiTiltGestures="[true | false]"
ジェスチャーによる地図の傾きの有効/無効。

map:uiZoomControls="[true | false]"
ズームコントロール(画面右下の+-ボタン)の有効/無効。

map:uiZoomGestures="[true | false]"
ジェスチャーによる地図のズームイン、ズームアウトの有効/無効。

map:useViewLifecycle="[true | false]"
マップのライフサイクルをフラグメントのビューに渡すかの判定。
デフォルトは false が設定されており、フラグメント自体のライフサイクルに依存する。

map:zOrderOnTop="[true | false]"
マップの表示優先度を上げて前面に表示するかの判定。
デフォルトは false 。 true で前面に表示される。
※ ドキュメントが無いので詳細は不明。前面に表示したときズームコントロールとロケーションボタンが背面に移動されて表示されなくなるが、コンパスは表示された。


MyLocation の設定は無いみたいです。
スポンサーサイト

Comments

Leave a Comment


Body
プロフィール

とむ・やむくん

Author:とむ・やむくん
管理人について

Windows 7 / 64bit
Eclipse 4.2 Juno (日本語パッチ済)

スポンサーサイト
最新トラックバック
検索フォーム
ブロとも申請フォーム
QRコード
QR
Twitter
2013/01/04 19:00 カウント開始

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。