Moje pytanie brzmi, czy ktoś wie, jak ustawić mapy Google, aby otworzyć zarówno moją lokalizację, jak i powiększony widok?
Obecnie główny widok otwiera się na Afrykę, całkowicie pomniejszony.
Tak więc szukałem już od kilku dni i wszystko, co mogę znaleźć, to:
1) Nie możesz animować dwóch rzeczy (takich jak powiększenie i przejście do mojej lokalizacji) na jednej mapie Google? Jeśli więc zdołam wymyślić, jak ustawić powiększenie, zanim ustawię animację, ten problem zostałby rozwiązany. Zwykle jest to problem, możesz zmienić jeden, ale nie oba.
2) Znalazłem inne klasy, które mogą być przydatne, ale nie ma pomocy, jak skonfigurować kod, aby klasa mogła manipulować mapą google.
To jest kod, którego trzymałem się do tej pory, niektóre działają, inne nie. Niektóre, które pomyślałem, mogą się później przydać.
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;
}
}