/
Kulechek
/
Lab_10
Обзор
Документация
Войти
/
Kulechek
/
Lab_10
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
app/src/main/java/com/example/map_quiz/MainActivity.java
83 строки
3 KB
Temnikov Konstantin
lab11
25 май 2025, 15:05
25 май 2025, 15:05
a3a54b1
Код
Авторство
О чём код?
package com.example.map_quiz; import android.content.Intent; import android.os.Bundle; import androidx.appcompat.app.AppCompatActivity; import com.yandex.mapkit.MapKitFactory; import com.yandex.mapkit.geometry.Point; import com.yandex.mapkit.map.CameraPosition; import com.yandex.mapkit.map.Map; import com.yandex.mapkit.mapview.MapView; import com.yandex.mapkit.map.MapObjectCollection; import com.yandex.mapkit.map.PlacemarkMapObject; import com.yandex.runtime.image.ImageProvider; public class MainActivity extends AppCompatActivity { private MapView mapView; private MapObjectCollection mapObjects; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 1) Инициализируем MapKit до setContentView MapKitFactory.setApiKey("e5f1d6c8-e0c7-451f-8448-c340a2bc2379\n"); MapKitFactory.initialize(this); setContentView(R.layout.activity_main); mapView = findViewById(R.id.mapView); // 2) Центр карты Map map = mapView.getMap(); map.move(new CameraPosition(new Point(55.753688, 37.622037), 7.0f, 0.0f, 0.0f)); // 3) Коллекция объектов mapObjects = map.getMapObjects().addCollection(); // 4) Добавляем маркеры-вопросы addQuizMarker(new Point(55.753688, 37.622037), 1); // Москва addQuizMarker(new Point(48.856651, 2.351691), 2); // Париж addQuizMarker(new Point(-22.801122, -43.336894), 3); // Рио-де-Жанейро } private void addQuizMarker(Point loc, final int questionId) { // Создаем провайдер изображения ImageProvider img = ImageProvider.fromResource(this, R.drawable.pin); // Создаем объект маркера PlacemarkMapObject placemark = mapObjects.addPlacemark(); // Устанавливаем геометрию (точку расположения маркера) placemark.setGeometry(loc); // Устанавливаем иконку маркера placemark.setIcon(img); // Устанавливаем полупрозрачность placemark.setOpacity(0.8f); // Обрабатываем клик на маркер placemark.addTapListener((mapObject, point) -> { Intent intent = new Intent(MainActivity.this, QuizActivity.class); intent.putExtra("QUESTION_ID", questionId); startActivity(intent); return true; }); } @Override protected void onStart() { super.onStart(); MapKitFactory.getInstance().onStart(); mapView.onStart(); } @Override protected void onStop() { mapView.onStop(); MapKitFactory.getInstance().onStop(); super.onStop(); } }