0
私はこのアプリケーションを使用して、私の地図をパイントして、ちょうど押されたピンの緯度と経度を取得する必要がありますが、 HERESに、とにかく、タップを認識し、私のコード:Android - GoogleマップV2は融合位置では動作しません
public class MapsActivity extends FragmentActivity implements OnMapReadyCallback,
GoogleMap.OnMapClickListener,
View.OnClickListener,
GoogleApiClient.ConnectionCallbacks,
GoogleApiClient.OnConnectionFailedListener {
GoogleMap mMap;
Double latitud, longitud;
Marker marker;
Button buttonAgregarUbicacion;
protected GoogleApiClient mGoogleApiClient;
protected Location mLastLocation;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_maps);
SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.map);
mapFragment.getMapAsync(this);
LocationManager locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);
checkGpsEnable(locationManager);
buildGoogleApiClient();
buttonAgregarUbicacion = (Button) findViewById(R.id.button_agregar_ubicacion);
buttonAgregarUbicacion.setOnClickListener(this);
}
protected synchronized void buildGoogleApiClient() {
mGoogleApiClient = new GoogleApiClient.Builder(this)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.addApi(LocationServices.API)
.build();
}
private void checkGpsEnable(LocationManager locationManager) {
if (!locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER) &&
!locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER)) {
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this);
alertDialogBuilder.setMessage("Al parecer no tienes el GPS activado, para mejorar la experiencia enciéndolo.")
.setCancelable(false)
.setPositiveButton("Activar GPS",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
Intent callGPSSettingIntent = new Intent(
Settings.ACTION_LOCATION_SOURCE_SETTINGS);
startActivity(callGPSSettingIntent);
}
});
alertDialogBuilder.setNegativeButton("Cancelar",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
finish();
}
});
AlertDialog alert = alertDialogBuilder.create();
alert.show();
}
}
@Override
public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;
mMap.getUiSettings().setMyLocationButtonEnabled(true);
mMap.setMyLocationEnabled(true);
if (mLastLocation != null) {
mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(
new LatLng(mLastLocation.getLatitude(), mLastLocation.getLongitude()), 200));
CameraPosition cameraPosition = new CameraPosition.Builder()
.target(new LatLng(mLastLocation.getLatitude(), mLastLocation.getLongitude()))
.zoom(17)
.build();
mMap.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
}
}
@Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.button_agregar_ubicacion:
if (latitud == null) {
Toast.makeText(MapsActivity.this, "Pon un pin en el mapa", Toast.LENGTH_SHORT).show();
} else {
Intent intent = new Intent(this, CreateReportActivity.class);
intent.putExtra("latitud", latitud);
intent.putExtra("longitud", longitud);
startActivity(intent);
finish();
}
break;
}
}
@Override
public void onConnected(Bundle connectionHint) {
mLastLocation = LocationServices.FusedLocationApi.getLastLocation(mGoogleApiClient);
onMapReady(mMap);
}
@Override
public void onConnectionSuspended(int i) {
mGoogleApiClient.connect();
}
@Override
public void onConnectionFailed(ConnectionResult connectionResult) {
}
@Override
protected void onStart() {
super.onStart();
mGoogleApiClient.connect();
}
@Override
protected void onStop() {
super.onStop();
if (mGoogleApiClient.isConnected()) {
mGoogleApiClient.disconnect();
}
}
@Override
public void onMapClick(LatLng latLng) {
mMap.clear();
marker = mMap.addMarker(new MarkerOptions()
.position(latLng).title("¿Aquí?"));
mMap.animateCamera(CameraUpdateFactory.newLatLng(latLng));
latitud = latLng.latitude;
longitud = latLng.longitude;
}
} 私はデバッグを行う、と私はそこに停止しdoesntの方法onMapClickにブレークポイントを置くときとにかく、私はこれを使用して働いていたが、私は実装融合した場所をdidntのき今日まで私はこの問題を抱えています。
私は本当にありがとうと思います。
ありがとうございました。
私はどうもありがとうございました、今本当に愚かな感じ@antonio – miguelacio