該
代碼在這里:
const double ZOOM = 1;
class HomeView extends StatelessWidget {
static GoogleMapController? _googleMapController;
Set<Marker> markers = Set();
// ignore: prefer_final_fields, unused_field
Completer<GoogleMapController> _controllerGoogleMap = Completer();
late GoogleMapController newGoogleMapController;
late Position currentPosition;
var geoLocator = Geolocator();
double bottomPaddingOfMap = 0;
void locatePosition() async {
//USER CURRENT LOCATION
Position position = await Geolocator.getCurrentPosition(
desiredAccuracy: LocationAccuracy.high);
currentPosition = position;
LatLng latLatPosition = LatLng(position.latitude, position.longitude);
CameraPosition cameraPosition =
// ignore: unnecessary_new
new CameraPosition(target: latLatPosition, zoom: 14);
newGoogleMapController
.animateCamera(CameraUpdate.newCameraPosition(cameraPosition));
}
static const CameraPosition _kGooglePlex = const CameraPosition(
target: LatLng(40.7956, 29.4420),
zoom: 14.4746,
);
@override
Widget build(BuildContext context) {
return SafeArea(
child: StreamBuilder<QuerySnapshot>(
stream: FirebaseFirestore.instance.collection("Location").snapshots(),
builder: (context, snapshot) {
// ignore: avoid_print
print(snapshot);
if (snapshot.hasData) {
//Extract the location from document
GeoPoint location = snapshot.data!.docs.first.get("location");
uj5u.com熱心網友回復:
您需要在 AndroidManifest.xml 中添加 Google 地圖包“com.google.android.apps.maps”
<manifest package="com.your.package">
<queries>
<package android:name="com.google.android.apps.maps" />
</queries>
...
</manifest>
uj5u.com熱心網友回復:
如果您沒有使用 google map apis,那么在GCP上創建一個 api 密鑰。創建一個 api 后,在 FLutter 專案中使用它。
uj5u.com熱心網友回復:
我假設您使用這個包google_maps_flutter 與所有暗示連接到某些 google api(或其他)的 flutter 包一樣,包頁面上描述了一些涉及的設定。
在包可以作業之前完成所有需要的作業非常重要,包括獲取 API 密鑰 Google Cloud,在其上激活適用于 Android 和 iOS 的地圖(如果您同時需要兩者)。然后你需要在你的 Flutter 應用程式上為 iOS 和 Android 做一些設定。
這一切都在我提供的鏈接中進行了描述,您應該嚴格按照他們的說明進行操作。只需要一個小小的設定錯誤就可以阻止整個作業。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/394898.html
下一篇:計算機網路期末復習 (卷二)
