C/C++プログラマの管理者が, Androidプログラムにチャレンジ. AndroidプログラミングのTipsをメモっていく予定です.

Google Maps Android API v2

カメラ位置(向き, 傾き)を変えてGoogleマップを見え方を変えるには, CameraPositionクラスを利用する.
    • カメラの向き(東西南北) : 真北を0度とする時計回りの角度(0.0〜360.0度)
    • カメラの角度(傾き) : 対象座標の真上と対象座標と視点のなす角度(0.0〜90.0度)

カメラ位置の変更

Googleマップを表示する」を参照し, Googleマップが表示できるようにする.
  • MainActivity.java
    • GoogleMapのインスタンスを取得する.
    • CameraPosition.Builder#buildメソッドで, CameraPositionのインスタンスを生成する際に, CameraPosition.Builder#bearing/tiltメソッドで, 向きや角度を設定する.
    • GoogleMap#animateCamera/moveCameraメソッドで, カメラ位置を設定する.
package com.moonlight_aska.android.googlemapv2;

import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.model.CameraPosition;
import com.google.android.gms.maps.model.LatLng;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;

public class MainActivity extends FragmentActivity {
  // 梅田阪急百貨店:北緯34度42分11秒, 東経135度29分54秒
  private double mLatitude = 34.0d + 42.0d/60 + 11.0d/(60*60);
  private double mLongitude = 135.0d + 29.0d/60 + 54.0d/(60*60);
  private GoogleMap mMap = null;
  
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    mMap = ( (SupportMapFragment)getSupportFragmentManager().findFragmentById(R.id.map) ).getMap();
    if (mMap != null) {
      mMap.setMapType(GoogleMap.MAP_TYPE_HYBRID);
      mMap.setTrafficEnabled(true);

      LatLng location = new LatLng(mLatitude, mLongitude);
      CameraPosition cameraPos = new CameraPosition.Builder()
        .target(location).zoom(15.0f)
        .bearing(0).tilt(60).build();
      mMap.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPos));
    }
  }
}
  • 動作例
SHARP SH-03C / Android 2.2
1) 向き

2) 角度




コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Menu


逆引き(基礎編)

画面表示/操作(49)

フラグメント(1)

逆引き(応用編)

Firebase(2)

AD



管理人/副管理人のみ編集できます