java - una - programa para hacer recorridos virtuales gratis
iniciar visita virtual con gmaps v2 para android (1)
¿Hay alguna manera de abrir una visita virtual con google maps api v2 para Android? (algo similar a esto: https://www.google.com/maps/@37.772031,-122.432005,3a,75y,12.85h,79.63t/data=!3m5!1e1!3m3!1srR8mp3c5XZoAAAAGOphoBg!2e0!3e2 )
Me gustaría hacer clic en un lugar de una gmap y ofrecer la posibilidad (entre otras informaciones) de abrir una visita virtual (incluso en una vista web, pero ¿cómo puedo crear el enlace anterior?)
Photo Sphere es una función de cámara de Android que le permite crear panoramas envolventes de 360 grados , similares a Street View . Puede tomar una serie de fotos y convertirlas automáticamente en un panorama perfecto de 360 grados . Luego, puedes compartir fácilmente tu foto esférica con Google Maps .
Para que los mapas de Google se muestren en su aplicación, debe incluirlos en su actividad:
MainActivity.java
public class MainActivity extends Activity {
// Google Map
private GoogleMap googleMap;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
try {
// Loading map
initilizeMap();
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* function to load map. If map is not created it will create it for you
* */
private void initilizeMap() {
if (googleMap == null) {
googleMap = ((MapFragment) getFragmentManager().findFragmentById(
R.id.map)).getMap();
// check if map is created successfully or not
if (googleMap == null) {
Toast.makeText(getApplicationContext(),
"Sorry! unable to create maps", Toast.LENGTH_SHORT)
.show();
}
}
}
@Override
protected void onResume() {
super.onResume();
initilizeMap();
}
}
Y también incluya en su código un marcador para el lugar donde desea abrir su recorrido virtual:
// latitude and longitude
double latitude = ;
double longitude = ;
// create marker
MarkerOptions marker = new MarkerOptions().position(new LatLng(latitude, longitude)).title("Hello Maps ");
// adding marker
googleMap.addMarker(marker);
A continuación, actualícelo para interactuar de acuerdo con las coordenadas de posición actuales proporcionadas:
public boolean onMarkerClick(Marker marker) {
if(markerClicked){
if(polyline != null){
polyline.remove();
polyline = null;
}
rectOptions.add(marker.getPosition());
rectOptions.color(Color.RED);
polyline = myMap.addPolyline(rectOptions);
}else{
if(polyline != null){
polyline.remove();
polyline = null;
}
rectOptions = new PolylineOptions().add(marker.getPosition());
markerClicked = true;
}
return true;
}
}
Una vez que Photo Sphere se creó como un formato abierto, cualquiera puede crearlo y verlo en la web o en dispositivos móviles, solo teniendo que usar la Clase / Interfaz Panorama para eso:
// This listener will be called with information about the given panorama.
OnPanoramaInfoLoadedListener infoLoadedListener =
new OnPanoramaInfoLoadedListener() {
@Override
public void onPanoramaInfoLoaded(ConnectionResult result,
Intent viewerIntent) {
if (result.isSuccess()) {
// If the intent is not null, the image can be shown as a
// panorama.
if (viewerIntent != null) {
// Use the given intent to start the panorama viewer.
startActivity(viewerIntent);
}
}
// If viewerIntent is null, the image is not a viewable panorama.
}
};
// Create client instance and connect to it.
PanoramaClient client = ...
...
// Once connected to the client, initiate the asynchronous check on whether
// the image is a viewable panorama.
client.loadPanoramaInfo(infoLoadedListener, panoramaUri);
Lo que le permitirá tener un visor de Photo Sphere como parte de su aplicación.