Инициализировать карту с помощью булавки, но не по центру
У меня есть приложение с Google Map v2, содержащее один маркер. Когда карта загружена, я хочу расположить маркер поверх карты, а не по центру (пример x=mapWidth/2, y=mapHeight/4). Пример:
1 ответ
Если вы знаете ширину и высоту карты, вы можете использовать проекцию, чтобы найти соответствующую координату LatLng:
public void setMarkerAtTop(GoogleMap map, int width, int height) {
projection = map.getProjection();
Point p = new Point(width / 2, height / 4);
LatLng latLng = projection.fromScreenLocation(p);
map.addMarker(new MarkerOptions().position(latLng));
}
Как получить ширину и высоту, зависит от того, используете ли вы MapView или MapFragment. Для просмотра просто getWidth и getHeight. Для MapFragment сначала используйте getView.