最終更新:
moonlight_aska 2013年09月26日(木) 00:06:59履歴
- MainActivity.java
- GroundOverlayOptionsのインスタンスを生成する.
- BitmapDescriptorFacotry#fromResourceメソッドで, リソースか画像を取得する.
- GroundOverlayOptions#imageメソッドで, オーバーレイする画像を設定する.
- GroundOverlayOptions#anchorメソッドで, 画像のどこを基準(ここでは画像中央)とするか設定する.
- GroundOverlayOptions#positionメソッドで, 画像の表示位置及び範囲を設定する.
- GoogleMap#addGroundOverlayメソッドで, Googleマップに画像をオーバーレイ表示する.
- GroundOverlay#setTransparencyメソッドで, α値(0.0:不透明〜1.0:透明)を設定する.
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.BitmapDescriptor;
import com.google.android.gms.maps.model.BitmapDescriptorFactory;
import com.google.android.gms.maps.model.CameraPosition;
import com.google.android.gms.maps.model.GroundOverlay;
import com.google.android.gms.maps.model.GroundOverlayOptions;
import com.google.android.gms.maps.model.LatLng;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
public class MainActivity extends FragmentActivity {
// 六甲山:北緯34度46分41秒, 東経135度15分49秒
private double mLatitude = 34.0d + 46.0d/60 + 41.0d/(60*60);
private double mLongitude = 135.0d + 15.0d/60 + 49.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) {
LatLng location = new LatLng(mLatitude, mLongitude);
CameraPosition cameraPos = new CameraPosition.Builder()
.target(location).zoom(12.0f)
.bearing(0).build();
mMap.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPos));
// 画像及び位置情報設定
GroundOverlayOptions options = new GroundOverlayOptions();
BitmapDescriptor bitmap = BitmapDescriptorFactory.fromResource(R.drawable.snow);
options.image(bitmap);
options.anchor(0.5f,0.5f);
options.position(location, 3000.0f, 3000.0f);
// マップに画像をオーバーレイ
GroundOverlay overlay = mMap.addGroundOverlay(options);
overlay.setTransparency(0.3f);
}
}
}
- 動作例

↓ 拡大

コメントをかく