- getx
- geolcator
- flutter_masked_text2
- flutter_map
- این پکیج برای استیت منیجینگ و همچنین برای استفاده از قابلیت های بی نظیر ان
- این پکیج برای گرفتن لوکیشن از کاربر استفاده شده
- از این پکیج برای فرمت فیلد های ورودی استفاده میشود
- این پکیج برای گرفتن مپ و استفاده از ان در کل اپ مورد استفاده قرار میگیرد
برای دادن دسترسی ها فایل AndroidManifest.xml را باز کنید و سپس بعد ازاین خط یک اینتر بزنید تا بتوانید کد های خودتان را وارد کنید (android/app/src/main/AndroidManifest.xml)
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.tracker">``
---
برای اینکه اپ به اینترنت دسترسی بگیرد باید از کاربر اجازه این کار را بگیرد برای این عمل شما کد قسمت پایین را در محلی که بالاتر گفته شده پیست میکنید
<uses-permission android:name="android.permission.INTERNET"/>
برای دسترسی به سرویس جی پی اس این دو پرمیشن را بعد از پرمیشن اینترنت پیست کنید
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
تا به اینجا دسترسی ها را به اپ دادیم و برای استفاده از پکیج geolocator باید
یک مقدار در فایل گردل پروژه ادیت کنید به مسیر
(android/app/)
بروید سپس فایل build.gradle
را باز کنید و مقدار
compileSdkVersion
را به 31 بدهید
به اینشکل
android {
compileSdkVersion 31
}
برای تنضیمات IOS به داکیومنت اصلی این پکیج بروید و ان را طبق گفته های ان تنظیم کنید و همچنین برای پرمیشن ها هم همینطور
برای گرفتن مپ از سایت مپ باکس(mapBox) مورد استفاده قرار گرفته که میشود البته با تغیر یسری پارامتر های دیگر میتوانید از سرویس های دیگر استفاده کنید توضیحات کانفیگ ها برای تغییر مرحله اول شما مراجه به سایت mapbox است و ساخت اکانت است
- (mapBox)[https://www.mapbox.com/]
بعد از ساختن اکانت از بالا قسمت پروفایل به تب studio بروید و newStyle را بزنید و و تنكیماتی که برای نقشه نیاز دارید اجام بدهید و سپس روی دکمه ابی رنگ بزنید تا ب مرحله بدی بروید بعد از ورود به صفحه بعد بروی روی share در قسمت بالا سمت راستم بزنید و بعد به سمت پایین اسکرول کنید و سپس در تب Developer resources گزینه را بر روی thirdparty بگذارید و سپس در قسمت مورد های انخابی ان را بر روی CARTO بگذارید و لینک که داده میشود را کپی کنید و سپس به میسر زیر بروید
(/project/lib/constantas.dart) و مورد mapUrl پیدا کنید و مقدار ان را با مقدار قرار داده شده جایگذین کنید سپس از قسمت سمت راست گوشه نوشته برند سایت را انتخاب کنید تا به صفحه استادیو برگردید و در تب بار بالا در قسمت کناری پروفایل به قسمت tilesets بروید و یکی از موارد نشان داده شده سه نقطه را بزنید و لینک داده شده را در مسیری که برای پیست کردن لینک اول را رفتید باز کنید و مورد پیست کنید و دوباره به مرورگر بگردید و بر روی پروفایل کاربری بزنید و داشبور را انتخاب کنید در همان قسمت صفحه در جای که صحبت از توکن شده توکن پابلیک را کپی کنید و مقدار ان را با مقدار tokenMap جایگذین کنید
- addCordinateds
- locationReset
- locateLocation
- locationUpdate مورد اول برای اضافه کردن لوکیشن به مپ از ۲ طریق تاچ و وردی است که با گرفتن لت و لان و اضافه کردن انها به یک لیست موارد را اضافه میکند با تاچ و ورودی استفاده شده
مورد دوم برای ریستارت کردن و برگشتن به لوکیشن اولیه که مپ لود میشود استفاده میشود با فلوتینگ اکشن باتن صدا زده میشود
زمانی که اولین لوکیشن روی مپ سلکت میشود یک متغییر مقدار از false به true تغییر میکند و در کنار ایکون اضافه کردن یک ایکون ظاهر میشود که یک باتم شیت باز میکند و تاریخچه لوکیشن ها را نشان میدهد با زدن بر روی دکمه اکسپند شدن اطلاعاتی مثل لت و لان را نشان میدهد و یه ایکون لانچ هست که با زدن ان فانکشن سومی را صدا میزند و کاربر را روی ان لوکیشن میبرد و دکمه add and go که باتم شیت اضافه کردن دارد از این فانکشن استفاده میکند
فانکشن اخری برای گرفتن لوکیشن فعلی کاربر مورد استفاده قرار میگیرد
در فایل widgets مواردی وحود دارند که میتوانستن جدا باشد و به ui مرتبط بودند به جهت خوانایی جداسازی انجام شد
AbolfazlMashhadi : CEO of AMATA