Google Maps API просто резко увеличил размер элементов управления картой по умолчанию (тип карты, масштабирование, полноэкранный режим и т. д.). Как я могу изменить их размер?
Как это не слишком общий, дублирующий и очень некачественный вопрос?
Возможный дубликат Огромные элементы управления Google Maps (Возможная ошибка?)
В дублированном вопросе на самом деле написано «Возможная ошибка?» и "Кто-нибудь еще испытывает те же проблемы?" а не «Как изменить размер?». Хотя он дал уместный ответ и на второй неотъемлемый вопрос. Мне не интересно знать, является ли это ошибкой (это не так), но я ищу решения, как изменить размер. Так что это актуальный для меня вопрос!





Вы не можете изменить размер элементов управления картами, но вы можете создавать собственные элементы управления / представления и обрабатывать их щелчки для выполнения необходимой задачи. Например. Создайте элементы управления увеличением / уменьшением, а затем установите их прослушиватели кликов,
fabZoomIn.setOnClickListener(this);
fabZoomOut.setOnClickListener(this);
поэтому, когда пользователь нажимает на этот элемент управления, вы получаете обратный вызов и можете вызвать соответствующую функцию. Вот как я это делаю в своем приложении:
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.fabZoomInDashboard:
googleMap.animateCamera(CameraUpdateFactory.zoomIn());
break;
case R.id.fabZoomOutDashboard:
googleMap.animateCamera(CameraUpdateFactory.zoomOut());
break;
}
}
fabZoomIn и fabZoomOut - это настраиваемые элементы управления, добавленные в макет для увеличения. Вы можете сделать то же самое для других элементов управления.
Вы можете установить размер элементов управления, установив controlSize в параметрах при создании карты.
let map;
function initMap() {
map = new google.maps.Map(document.getElementById("map"), {
center: {
lat: -34.397,
lng: 150.644
},
zoom: 8,
controlSize: 20,
});
}#map {
width: 300px;
height: 200px;
}<script src = "https://maps.googleapis.com/maps/api/js?key=&callback=initMap" async defer></script>
<div id = "map"></div>
Как это слишком широко?