Флаттер. Как переместить, переместить логотип Google Maps
Флаттер. Как изменить положение логотипа Google в левом нижнем углу виджета GoogleMap, хотелось бы также узнать, можно ли его отключить / включить
Я использую пакет "Google Maps for Flutter": https://pub.dev/packages/google_maps_flutter версия: ^0.5.19
Спасибо
2 ответа
Я нашел обходной путь, не лучшее решение, я думаю, но должен работать
просто добавьте отступ в виджет GoogleMap(), установите нижнее и левое значения по своему желанию
new GoogleMap(
padding: EdgeInsets.only(bottom: 100, left: 15), // <--- padding added here
// rest of parameters
// ....
)
НОТА!!
Если вы выбираете местоположения из точки в центре экрана, добавление отступов в GoogleMap() должно повлиять на / изменить значения выбранного местоположения. так что учли.
Спасибо
Google уже упростил это для вас, адаптируясь к ответу Рами, вы можете просто сделать следующее, чтобы добавить отступ на свою карту
GoogleMap(
myLocationEnabled: true,
padding: EdgeInsets.only(bottom: mapBottomPadding, top: 0, right: 0, left: 0),
myLocationButtonEnabled: true,
compassEnabled: true,
mapToolbarEnabled: true,
mapType: MapType.normal,
markers: _markers,
initialCameraPosition: _kLake,
onMapCreated: (GoogleMapController controller) {
_controller.complete(controller);
mapController = controller;
setState(() {
mapBottomPadding = 280;
_goToTheLake();
});
},
),
Цель камеры карты настраивается соответствующим образом на основе заполнения, примененного к карте слева, сверху, справа или снизу.
для дальнейшего чтения перейдите сюда
Надеюсь это поможет.
Как упоминалось в этом выпуске GitHub (открыт с 22 июля 2020 г.), вы должны использоватьStatefulWidget
а также setState()
при настройке отступов для логотипа Google Maps (или других кнопок карты). Без звонкаsetState()
, заполнение не будет правильно применяться на Android. Похоже, это проблема с родным Android Maps SDK, так как та же проблема с заполнением возникает в пакете Google Maps React Native.
Согласно Условиям использования платформы Google Maps, вы должны постоянно отображать логотип Google на своей карте Google, поэтому вы не можете удалить его без обходного пути. Однако вы можете удалить другие кнопки на карте Google, например кнопки местоположения и увеличения / уменьшения масштаба.
См. Пример ниже для реализации заполнения на логотипе Google Maps, а также удаления кнопок местоположения и увеличения / уменьшения масштаба:
GoogleMap(
//padding parameter for positioning the Google logo and other map buttons
padding: EdgeInsets.only(
bottom: 120,
),
//remove zoom in/out buttons
zoomControlsEnabled: false,
//remove location button
myLocationButtonEnabled: false,
initialCameraPosition: CameraPosition(
target: _center,
zoom: 12.0,
),
onMapCreated: (GoogleMapController controller) {
//required to apply padding correctly on Android
setState(() {});
},
)
Чтобы узнать больше о параметрах GoogleMap
виджет, просмотрите документацию пакетаgoogle_maps_flutter.
Очевидно, что нет прямого / надежного способа сделать это, и даже если вы можете каким-то образом использовать Stack для покрытия этого логотипа, вы не должны этого делать.
Вы можете столкнуться с проблемами при загрузке приложения в Google Playstore.
Если вам не нравятся моральные ценности, просто прочитайте это:
9.4 Атрибуция.
(a) Содержимое, предоставляемое вам через Службу, может содержать торговые наименования, товарные знаки, знаки обслуживания, логотипы, доменные имена и другие отличительные признаки бренда Google, ее партнеров или других владельцев прав третьих лиц на контент, проиндексированный Google. Когда Google предоставляет эту атрибуцию, вы должны отображать ее, как это предусмотрено в Сервисе или как описано в Документации API Карт, и не можете удалять или каким-либо образом изменять эти торговые наименования, товарные знаки, знаки обслуживания, логотипы, доменные имена и другие отличительные торговые марки. функции.
https://developers.google.com/maps/terms
Google уже предлагает широкий спектр бесплатных и бесплатных сервисов от шрифтов до... до... до флаттера. Представьте себе, если бы вы были вместо Google, что бы вы делали, если бы обнаружили, что кто-то пытается неправильно использовать бесплатный сервис вашего приложения, который на самом деле стоит вам денег.
Если вы просто хотите переместить значок, отредактируйте исходный код этого пакета, наведя курсор на GoogleMap(), удерживая нажатой клавишу Ctrl, а затем щелкните правой кнопкой мыши, когда текст станет синим. Появится новое окно с исходным кодом виджета GoogleMap, где вы можете проверить и отредактировать, как указано положение логотипа, но я не могу гарантировать вам, что это разрешено.