Начать виртуальный тур с gmaps v2 для Android
Есть ли способ открыть виртуальный тур с Google Maps api v2 для Android?.
Я хотел бы нажать на место в gmap и предложить возможность (среди прочего) открыть виртуальный тур (даже в веб-просмотре, но как я могу создать вышеуказанную ссылку?)
1 ответ
Photo Sphere - это функция камеры Android, которая позволяет создавать захватывающие 360-градусные панорамы - аналогично просмотру улиц. Вы можете сделать серию фотографий и автоматически превратить их в бесшовную 360- градусную панораму. Затем вы можете легко поделиться своей фотографией с Google Maps.
Чтобы карты Google отображались в вашем приложении, вы должны включить их в свою деятельность:
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();
}
}
А также включите в свой код маркер для того, где вы хотите открыть свой виртуальный тур:
// 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);
Затем обновите его, чтобы он взаимодействовал с текущими координатами положения при условии:
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;
}
}
После создания 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);
Что позволит вам иметь программу просмотра Photo Sphere как часть вашего приложения.