Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
updated assets, updated content, repositioned content
  • Loading branch information
mrdavidorok committed Aug 16, 2025
commit bb1c73173911c90b409e7ca96bb469d16837defe
65 changes: 65 additions & 0 deletions docs/ff-integrations/maps/geocoding.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,38 @@ You can implement geocoding in FlutterFlow in two main ways:

See: **[Google Maps Geocoding API Documentation](https://developers.google.com/maps/documentation/geocoding)**

Example: Forward Geocoding API Call

**Endpoint:**
```js
GET https://maps.googleapis.com/maps/api/geocode/json?address=Paris,France&key=YOUR_API_KEY
```

**Sample Response**
```json
{
"results": [
{
"formatted_address": "Paris, France",
"geometry": {
"location": {
"lat": 48.856614,
"lng": 2.3522219
}
}
}
],
"status": "OK"
}

**FlutterFlow API Call Setup**

- Method: GET
- URL: `https://maps.googleapis.com/maps/api/geocode/json`
- Query Parameters:
- address → `Paris`,`France` (or variable)
- `key` → your Google Maps API key

2. **`geocoding` Dart Package (Custom Code)**

- Uses Flutter’s [`geocoding`](https://pub.dev/packages/geocoding) package for native geocoding.
Expand All @@ -45,6 +77,39 @@ You can implement geocoding in FlutterFlow in two main ways:
- Best for:
- Apps that don’t want to rely on external APIs.
- Simpler geocoding needs.

**Example: Forward Geocoding with geocoding package**

```dart
import 'package:geocoding/geocoding.dart';
Future<void> getCoordinatesFromAddress(String address) async {
try {
List<Location> locations = await locationFromAddress(address);
if (locations.isNotEmpty) {
print('Latitude: ${locations.first.latitude}');
print('Longitude: ${locations.first.longitude}');
}
} catch (e) {
print('Error: $e');
}
}
```
**Example: Reverse Geocoding with geocoding package**

```dart
import 'package:geocoding/geocoding.dart';
Future<void> getAddressFromCoordinates(double lat, double lng) async {
try {
List<Placemark> placemarks = await placemarkFromCoordinates(lat, lng);
if (placemarks.isNotEmpty) {
final place = placemarks.first;
print('${place.street}, ${place.locality}, ${place.country}');
}
} catch (e) {
print('Error: $e');
}
}
```

:::tip[Related Guides]
- [Convert Device Location to Address](/convert-device-location-to-address) — Step-by-step guide for reverse geocoding a device’s coordinates.
Expand Down
39 changes: 21 additions & 18 deletions docs/intro/ff-ui/canvas.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,24 +18,6 @@ It allows zoom level adjustments and previews in light or dark mode. It also inc

This is the canvas of the device screen where you can build the user interface. You can customize the screen by adding widgets using drag and drop from the [Widget Palette](../../intro/ff-ui/widget-palette.md) and by applying properties present in the [Properties Panel](../../intro/ff-ui/builder.md#properties-panel).

### Troubleshooting Copy-Paste Issues

If you're unable to copy and paste widgets on the Canvas, the issue may be due to clipboard permissions in your browser.

Follow these steps to enable clipboard access in Chrome:

1. Click the **lock icon** in the address bar next to `flutterflow.io`.
2. In the permissions popup, locate **Clipboard**.
3. Set clipboard access to **Allow**.
4. Refresh the page and try again.

![](imgs/20250430121511630414.png)

:::tip
If you're using Firefox, Safari, or Edge, check that browser’s permission settings to enable clipboard access.
:::


## Show or hide Navigation Menu

From here, you can open or close the
Expand Down Expand Up @@ -162,3 +144,24 @@ Watch this video if you prefer watching a video tutorial.
<div class="video-container"><iframe width="760" height="428" src="https://www.youtube.com/embed/NDrte4nOXYc" title="The Canvas | FlutterFlow University" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></div>

---

<details>
<summary>Why can’t I copy and paste widgets on the Canvas?</summary>

If you're unable to copy and paste widgets on the Canvas, the issue may be due to clipboard permissions in your browser.

**Follow these steps to enable clipboard access in Chrome:**

1. Click the **lock icon** in the address bar next to `flutterflow.io`.
2. In the permissions popup, locate **Clipboard**.
3. Set clipboard access to **Allow**.
4. Refresh the page and try again.

![](imgs/20250430121511630414.png)

:::tip
If you're using Firefox, Safari, or Edge, check that browser’s permission settings to enable clipboard access.
:::

</details>

Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
slug: /running-your-app/local-run
slug: /testing/local-run
title: Local Run
description: Local Run downloads the code locally and gives you the option to use Flutter's Hot Reload to see your changes instantly on a device.
tags: [Local Run, Testing, Hot Reload]
Expand Down

This file was deleted.

3 changes: 3 additions & 0 deletions docs/troubleshooting/running-app/_category_.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"label": "Running App"
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
keywords: ['application', 'device', 'real']
Slug: /troubleshooting/test-mode/app-colors-wrong-on-real-device
Slug: /troubleshooting/running-app/app-colors-wrong-on-real-device
Title: App Colors Display Incorrectly on Real Device
---

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
keywords: ['database', 'clear', 'testing']
slug: /running-your-app/prepare-database-before-tests
slug: /testing/clear_database_before_running_tests
title: Prepare Database Before Running Tests
---

Expand Down