50 lines
1.7 KiB
Markdown
50 lines
1.7 KiB
Markdown
# نمایش دقت موقعیت مکانی با Flutter
|
|
|
|
این برنامه روی Android و Web مختصات زیر را دریافت و نمایش میدهد:
|
|
|
|
- عرض جغرافیایی (Latitude)
|
|
- طول جغرافیایی (Longitude)
|
|
- دقت تخمینی موقعیت بر حسب متر (Accuracy)
|
|
- زمان ثبت موقعیت
|
|
|
|
همین اطلاعات با `debugPrint` در کنسول نیز چاپ میشوند.
|
|
|
|
## اجرا
|
|
|
|
```bash
|
|
flutter pub get
|
|
flutter run
|
|
```
|
|
|
|
برای ساخت خروجی وب:
|
|
|
|
```bash
|
|
flutter build web --release
|
|
```
|
|
|
|
خروجی در `build/web` ساخته میشود. مرورگرها به دلایل امنیتی Location را فقط روی
|
|
`HTTPS` یا `localhost` ارائه میکنند؛ بنابراین نسخهای که روی دامنه قرار میگیرد باید
|
|
حتماً HTTPS داشته باشد.
|
|
|
|
## انتشار روی Cloudflare
|
|
|
|
تنظیمات Workers Static Assets در `wrangler.jsonc` قرار دارد. بعد از هر build، فایل
|
|
ignore مخصوص Cloudflare را به خروجی کپی و سپس deploy کنید:
|
|
|
|
```powershell
|
|
flutter build web --release --no-wasm-dry-run
|
|
Copy-Item cloudflare.assetsignore build/web/.assetsignore
|
|
npx wrangler deploy --config wrangler.jsonc
|
|
```
|
|
|
|
CanvasKit از CDN رسمی و نسخهبندیشده Flutter دریافت میشود تا فایلهای renderer
|
|
بزرگتر از محدودیت آپلود Cloudflare داخل deployment قرار نگیرند.
|
|
|
|
برای ساخت APK:
|
|
|
|
```bash
|
|
flutter build apk --release
|
|
```
|
|
|
|
مجوزهای `ACCESS_FINE_LOCATION` و `ACCESS_COARSE_LOCATION` در AndroidManifest ثبت
|
|
شدهاند و برنامه هنگام اجرا نیز مجوز لازم را از کاربر درخواست میکند.
|