Я недавно начал работать над приложением для Android, которое включает GPS-отслеживание положения пользователя.Для этого я просмотрел руководство Google по настройке API GoogleMaps для Android и полностью осознал (насколько мне известно) шаги, которые мне потребовались, включая правильный API_KEY и Footprint SHA1 для отладочной версии карт Google.,Включенный код отправляет запрос информации о карте в API Google и после загрузки полностью устанавливает карту и размещает маркер в Сиднее.Но это не помещает маркер.Или перенесите интерфейс карт в Сидней.Он просто показывает карту и, кажется, почему-то каждый раз центрируется вокруг западного побережья Африки.
Вот как далеко я продвинулся в коде Java Activity:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_pkw__route__content__gps);
SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.map);
try {
mapFragment.getMapAsync(this);
}
catch(NullPointerException npe){
npe.printStackTrace();
}
}
@Override
public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;
// Add a marker in Sydney, Australia, and move the camera.
LatLng sydney = new LatLng(-34, 151);
current = mMap.addMarker(new MarkerOptions().position(sydney).title("Marker in Sydney"));
mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney));
}
Фрагмент выглядит следующим образом:
<fragment
android:id="@+id/map"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="257dp"
android:layout_height="224dp"
android:layout_marginStart="72dp"
android:layout_marginTop="15dp"
android:layout_marginEnd="72dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:context=".MapsActivity" />
Я добавил ключ API в манифест в теге com.google.android.geo.API_KEY.Я не буду публиковать его здесь по понятным причинам.
Как уже говорилось, карта инициализируется правильно, но маркеры не размещаются, и вызов moveCamera также не выполняется правильно
РЕДАКТИРОВАТЬ: я думаю, что этоВопрос нуждается в некоторой предыстории, я использую карту внутри фрагмента, который интегрирован в другой вид деятельности.Причина, по которой я считаю это важным, заключается в том, что я попытался начать действие карты с намерения, и в этом случае оно полностью загрузится, разместит маркеры и будет работать в интерактивном режиме, как и должно быть.Потому что все это в методе onCreate ().Как мне сделать это без необходимости вызывать действие и останавливать другое?