web-dev-qa-db-ja.com

Androidスタジオに衛星ビューを追加する方法は?

マップは正常に機能していますが、通常のビューに加えて衛星ビューを追加したいですか?どうすればそれを達成できますか?

public class MainActivity extends FragmentActivity implements OnMapReadyCallback {


private GoogleMap mMap;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
            .findFragmentById(R.id.map);
    mapFragment.getMapAsync(this);
}



@Override
public void onMapReady(GoogleMap googleMap) {
    mMap = googleMap;


    LatLng location = new LatLng(x,y);
    mMap.addMarker(new MarkerOptions().position(ReduitBusStop).title("you are here!"));
    mMap.moveCamera(CameraUpdateFactory.newLatLng(location));
12
joey

以下のようにマップタイルのタイプを設定してみてください

        mMap.setMapType(GoogleMap.MAP_TYPE_HYBRID);
18
SachinS

Google Maps APIでは、4種類の地図を利用できます。おなじみの「ペイントされた」ロードマップタイルに加えて、Google Maps APIは他のマップタイプもサポートしています。

Google Maps APIでは次のマップタイプを使用できます。

  • _MapTypeId.ROADMAP_は、デフォルトの道路地図ビューを表示します。これはデフォルトのマップタイプです。
  • _MapTypeId.SATELLITE_はGoogle Earthの衛星画像を表示します
  • _MapTypeId.HYBRID_は、通常のビューと衛星ビューの両方を表示します
  • _MapTypeId.TERRAIN_は、地形情報に基づいて物理的な地図を表示します。

Mapで使用しているマップタイプを変更するには、コンストラクタ内でMapオプションオブジェクトを設定するか、マップのsetMapTypeId()メソッドを呼び出して、mapTypeIdプロパティを設定します。 mapTypeIDプロパティのデフォルトは_MapTypeId.ROADMAP_です。

_@Override
public void onMapReady(GoogleMap googleMap) {
    mMap = googleMap;

    LatLng location = new LatLng(x,y);
    mMap.addMarker(new MarkerOptions().position(ReduitBusStop).title("you are here!"));
    mMap.moveCamera(CameraUpdateFactory.newLatLng(location));
    mMap.setMapType(mMap.MAP_TYPE_SATELLITE); // Here is where you set the map type
}
_
11
Mr Robot