package net.sgoliver.android.mapasapi2;
import com.google.android.gms.maps.CameraUpdate;
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.view.Menu;
import android.view.MenuItem;
import android.widget.Toast;
public class MainActivity extends android.support.v4.app.FragmentActivity {
private GoogleMap mapa = null;
private int vista = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mapa = ((SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.map)).getMap();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
switch(item.getItemId())
{
case R.id.menu_vista:
alternarVista();
break;
case R.id.menu_mover:
//Centramos el mapa en Espa�a
CameraUpdate camUpd1 =
CameraUpdateFactory.newLatLng(new LatLng(40.41, -3.69));
mapa.moveCamera(camUpd1);
break;
case R.id.menu_animar:
//Centramos el mapa en Espa�a y con nivel de zoom 5
CameraUpdate camUpd2 =
CameraUpdateFactory.newLatLngZoom(new LatLng(40.41, -3.69), 5F);
mapa.animateCamera(camUpd2);
break;
case R.id.menu_3d:
LatLng madrid = new LatLng(40.417325, -3.683081);
CameraPosition camPos = new CameraPosition.Builder()
.target(madrid) //Centramos el mapa en Madrid
.zoom(19) //Establecemos el zoom en 19
.bearing(45) //Establecemos la orientaci�n con el noreste arriba
.tilt(70) //Bajamos el punto de vista de la c�mara 70 grados
.build();
CameraUpdate camUpd3 =
CameraUpdateFactory.newCameraPosition(camPos);
mapa.animateCamera(camUpd3);
break;
case R.id.menu_posicion:
CameraPosition camPos2 = mapa.getCameraPosition();
LatLng pos = camPos2.target;
Toast.makeText(MainActivity.this,
"Lat: " + pos.latitude + " - Lng: " + pos.longitude,
Toast.LENGTH_LONG).show();
break;
}
return super.onOptionsItemSelected(item);
}
private void alternarVista()
{
vista = (vista + 1) % 4;
switch(vista)
{
case 0:
mapa.setMapType(GoogleMap.MAP_TYPE_NORMAL);
break;
case 1:
mapa.setMapType(GoogleMap.MAP_TYPE_HYBRID);
break;
case 2:
mapa.setMapType(GoogleMap.MAP_TYPE_SATELLITE);
break;
case 3:
mapa.setMapType(GoogleMap.MAP_TYPE_TERRAIN);
break;
}
}
}