2014-03-25 21 views

回答

12

Photo Sphere是一款Android摄像头功能,可让您创建身临其境的360 degree panoramas - 类似于Street View。您可以拍摄一系列照片,并自动将它们变成无缝360 degree panorama。然后,您可以轻松地与Google Maps分享您的照片范围。

enter image description here

为了有显示到你的应用程序的谷歌地图,你应该包括它变成你的活动:

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(); 
    } 

} 

enter image description here

而且还包括你的代码marker为您想要打开虚拟导览的位置:

// 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); 

enter image description here

然后更新相应地互动,提供的电流position coordinates

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; 
} 

} 

enter image description here

一旦Photo Sphere全景照片被做成一个开放的格式,任何人都可以创建和查看他们的网页或移动设备上,只需使用Panorama Class/Interface即可:

// 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); 

enter image description here

这将允许你有一个Photo Sphere viewer作为你的应用程序的一部分。