Круг точности вокруг маркера
Я работаю в приложении для картирования Android, которое использует API отображения Osmdroid, и до сих пор я могу показать карту и местоположение пользователя на карте, но как я могу показать круг точности вокруг маркера, и это можно тестировать в эмуляторе только.{Мне нужны некоторые примеры или учебники по этому вопросу}
2 ответа
Расширьте класс Overlay, создайте класс и назовите его AccuracyIndicatorCircleOverlay (например).
public class AccuracyIndicatorCircleOverlay extends Overlay {
}
Теперь переопределите метод рисования:
public void draw(Canvas canvas, MapView mapView, boolean shadow) {
super.draw(canvas, mapView, shadow);
// Now you can use getAccuracy() method of android.location.Location
// to draw a circle based on your requirements.
}
Я не знаком с osmdroid, но предполагая, что у вас есть доступ к данным о местоположении (в частности, к точности), я бы сказал, просто измените изображение на основе точности. Если вы получите новое местоположение, если точность отличается от предыдущей, сбросьте изображение, используемое для пользовательского местоположения. Кажется, это самое простое решение, если вы получаете обновления местоположения.
Если вы хотите добавить наложение к представлению карты, ответ на SO, где они использовали наложение для создания радиуса в соответствии с точностью.