La mia domanda è: qualcuno sa come impostare Google Maps, per aprire sia la mia posizione che in una vista ingrandita?
Attualmente, la vista principale si apre sull'Africa, completamente ingrandita.
E così ho cercato per giorni ormai, e tutto quello che posso trovare sono:
1) Non puoi animare due cose (come ingrandire e andare alla mia posizione) in una mappa di Google? Quindi, se riesco a capire come impostare lo zoom prima di impostare l'animazione, allora questo problema sarebbe risolto. Questo tende ad essere il problema, puoi cambiarne uno, ma non entrambi.
2) Ho trovato altre classi che potrebbero essere utili, ma non c'è aiuto su come impostare il codice in modo che la classe possa manipolare la mappa di Google.
Questo è il codice a cui mi sono tenuto finora, alcuni funzionano, altri no. Alcuni ho pensato che potrebbero essere utili in seguito.
package com.MYWEBSITE.www;
import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.model.LatLng;
import android.content.Context;
import android.location.Criteria;
import android.location.Location;
import android.location.LocationManager;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.view.Menu;
public class MainActivity extends FragmentActivity {
private GoogleMap map;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_layout);
map = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)).getMap();
map.setMyLocationEnabled(true);
//LocationSource a = (LocationSource) getSystemService(Context.LOCATION_SERVICE);
//LocationManager b = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
//map.setLocationSource(a);
Criteria criteria = new Criteria();
LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
String provider = locationManager.getBestProvider(criteria, false);
Location location = locationManager.getLastKnownLocation(provider);
double lat = location.getLatitude();
double lng = location.getLongitude();
LatLng coordinate = new LatLng(lat, lng);
//CameraPosition.Builder x = CameraPosition.builder();
//x.target(coordinate);
//x.zoom(13);
//Projection proj = map.getProjection();
//Point focus = proj.toScreenLocation(coordinate);
//map.animateCamera(CameraUpdateFactory.newLatLng(coordinate));
map.animateCamera(CameraUpdateFactory.zoomBy(13));
//map.moveCamera(CameraUpdateFactory.newLatLng(coordinate));
////LatLngBounds bounds = mMap.getProjection().getVisibleRegion().latLngBounds;
}
}