Разработка Android-приложений с Augmented Reality - страница 15

Шрифт
Интервал


import android. location. LocationManager;

import android. os. Bundle;

import android.support.v4.app.FragmentActivity;

import android.view.View;

import android.view.View. OnClickListener;

import android. widget. Button;

import android.widget.Toast;


import com.beyondar.android.plugin. googlemap. GoogleMapWorldPlugin;

import com.beyondar.android.util.location.BeyondarLocationManager;

import com.beyondar.android.world.GeoObject;

import com.beyondar.android. world. World;

import com.google.android.gms.maps.CameraUpdateFactory;

import com.google.android.gms.maps. GoogleMap;

import com.google.android.gms.maps. GoogleMap. OnMarkerClickListener;

import com.google.android.gms.maps. OnMapReadyCallback;

import com.google.android.gms.maps.SupportMapFragment;

import com.google.android.gms.maps.model.LatLng;

import com.google.android.gms.maps.model.Marker;


public class BeyondarLocationManagerMapActivity extends FragmentActivity implements OnMarkerClickListener, OnClickListener, OnMapReadyCallback {


private GoogleMap mMap;

private GoogleMapWorldPlugin mGoogleMapPlugin;

private World mWorld;


@Override

protected void onCreate (Bundle savedInstanceState) {

super. onCreate (savedInstanceState);

setContentView(R.layout.map_google);


Button myLocationButton = (Button) findViewById(R.id.myLocationButton);


myLocationButton.setVisibility(View.VISIBLE);

myLocationButton.setOnClickListener (this);


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

}


@Override

public boolean onMarkerClick (Marker marker) {

// To get the GeoObject that owns the marker we use the following

// method:

GeoObject geoObject = mGoogleMapPlugin.getGeoObjectOwner (marker);

if (geoObject!= null) {

Toast.makeText (this, «Click on a marker owned by a GeoOject with the name: " + geoObject.getName (),

Toast.LENGTH_SHORT).show ();

}

return false;

}


@Override

protected void onResume () {

super. onResume ();

// When the activity is resumed it is time to enable the

// BeyondarLocationManager

BeyondarLocationManager. enable ();

}


@Override

protected void onPause () {

super. onPause ();

// To avoid unnecessary battery usage disable BeyondarLocationManager

// when the activity goes on pause.

BeyondarLocationManager. disable ();

}


@Override

public void onClick (View v) {

// When the user clicks on the button we animate the map to the user