All pages
Powered by GitBook
1 of 1

Loading...

Map Component

Overview

The Map component lets you show an area of a Google map to the user. You can add markers, polylines, and polygons to this map.

Properties

Add Google Maps API Key

You can live-test your app without adding your unique Google Maps API keys, but you need to add them if you want to download or publish your app.

Generate a Google Maps API Key

To generate your personal Google Maps API key, you need to:

  1. Create a Google Cloud project for your app.

  2. Create a billing account or enable billing for the project.

  3. Click Enable to enable the Maps SDK for Android or Maps SDK for iOS.

  4. Select Enable all Google Maps APIs for this project.

  5. Copy the provided API key.

For more detailed instructions, please see here: .

Once you've generated your Google Maps API keys, you can add them to your Thunkable project. Click the gear icon on the left of your project's designer tab to access your . Scroll to the Google Map Settings section and paste your Android and iOS API keys into the corresponding fields.

Property
Description
Data Type
Property
Description
Data Type
Property
Description
Data Type
Property
Description
Data Type

The map has several events. You can trigger actions to happen when these events occur.

This event happens when the Map has loaded in your app.

This is a good time to add any markers, polylines or polygons to your app that you want the user to see as soon as your app opens.

GeoJSON is a format for encoding geographical data structures that is based on the JSON (JavaScript Object Notation) format. It is a lightweight and versatile format that is widely used for storing and exchanging spatial data. GeoJSON provides you with a simple and flexible way to add geographic data to your Google Maps app, making it easy to create engaging and informative map-based applications.

Incorporating GeoJSON in your Thunkable Map component allows you to draw lines, shapes (rectangles, triangles, squares, and custom shapes), and markers on the map.

To use the Add GeoJSON block:

  1. On the Design tab of your Thunkable project, add a map component to a screen.

  2. On the Blocks tab, within the component tree, click the Map component.

  3. Drag and drop the Add GeoJSON block into your workspace.

This event happens when the location of the user changes. It returns the coordinate object. You can use to get the properties of the coordinate object.

The coordinate object has the following properties:

{ target: Numeric ID for your app coordinate:{ latitude: latitude of point selected longitude: longitude of point selected } position:{ x: x-position of selected point on the Map component y: x-position of selected point on the Map component } }

This event happens when the user taps on the Map.

This event happens when the user presses on the map for a longer period of time.

This event happens when the user clicks on a Marker that is on the Map.

The On Marker Press block returns an event object. This is an object which can be used with

The event object has the following properties:

{ latitude: latitude of the selected Marker longitude: longitude of the selected Marker }

Adds a generic map marker to your map at the specified latitude/longitude.

This block takes the following inputs:

Input
Description
Data Type

Adds a marker of a selected image to your map at the specified latitude/longitude

This block takes the following inputs:

Input
Description
Data Type

Add a polyline to your map. This is an outline that connects several points on your map.

This block takes the following inputs:

These blocks:

Will produce this polyline:

Note that polylines won't automatically create a closed shape. You would need to add a forth object with the properties latitude: 37 and longitude: -122 to the coordinate input of the addPolyline block above to close this triangular polyline.

Add a polygon to your map. This is a solid shape that connects several points on your map.

This block takes the following inputs:

These blocks:

Will produce this polygon:

Note that the polygon outline will automatically connect the first and last points in the list of coordinates.

You can use the deleteAllMarkers block to delete all from your app.

You can use the deleteAllPolylines block to delete all from your app.

You can use the deleteAllPolygons block to delete all from your app.

Set and get of the Map component.

Returns the height of the Map on the device screen in pixels.

Returns the width of the Map on the device screen in pixels.

You can pair the Map component with a . This helps you show content relevant to the user's location.

These blocks will set the map's latitude and longitude to show the user's location once the map is ready:

Zoom

Zoom level between -15 (most zoomed out) and 15 (most zoomed in)

Number

User location

Show the user where they are on the map.

True/False

My location button

Show button that allows the user to re-center the map on their location.

True/False

Compass

Show compass.

True/False

Scroll

Allow user to scroll on the map.

True/False

Zoom

Allow user to zoom in and out on the map.

True/False

Traffic

Show traffic data.

True/False

Height

Height of Map in pixels

Number

Width

Width of Map in pixels

Number

Resize Mode

Define dimensions of the map component/container

Select from list [Stretch, Float in Place]

Border Color

Color of border (only visible if border width > 0)

Color

Border Width

Width of border around Map in pixels

Number

Border Radius

Radius of corners of border on Map in degrees

Number

Shadow Color

Color of map's shadow

Color

Shadow Opacity

Opacity of map's shadow

Number between 0 and 100

Shadow Radius

Radius of corners of map's shadow in pixels

Number

Shadow Offset

How far map's shadow should be offset, in Height and Width, in pixels

Number

Click Text.

  • Drag the empty text block and connect it to the Add GeoJSON block.

  • Paste your GeoJSON data into the empty text block. This can be retrieved from a website such as GeoJSON.io.

  • Drag and drop the Add GeoJSON block into an event block. For example, the onMapReady block to render the GeoJSON when the map loads, or the when button click block to render the GeoJSON when the user clicks a button.

  • Number

    position X

    X Co-ordinate of selected position on map component

    Number

    position Y

    Y Co-ordinate of selected position on map component

    Number

    Number

    position X

    X Co-ordinate of selected position on map component

    Number

    position Y

    Y Co-ordinate of selected position on map component

    Number

    Title

    Title of marker (displayed when marker is clicked)

    Text

    Description

    Description of marker (displayed when marker is clicked)

    Text

    Pin Color

    Color of marker

    Color

    Title

    Title of marker (displayed when marker is clicked)

    Text

    Description

    Description of marker (displayed when marker is clicked)

    Text

    Icon

    Image to use as marker

    Dropdown menu (select )

    Number

    Stroke Color

    Color of polyline

    Color

    Number

    Stroke Color

    Color of outline (Only visible if Stroke Width > 0)

    Color

    Fill Color

    Color of polygon shape

    Color

    Latitude

    Co-ordinate of the map's center on the north-south axis

    Number

    Longitude

    Co-ordinate of the map's center on the east-west axis

    Provider

    Map provider (ex. Google).

    Text

    Map Type

    Style of map.

    X

    Location of top left corner of Map on X-axis, where the left hand side is X=0

    Number

    Y

    Location of top left corner of Map on Y-axis, where the top side is Y=0

    Visible

    Toggle whether your end users can see the Map

    True/False

    Border Style

    Set whether border style is solid, dotted or dashed (only visible if border width > 0)

    Output name

    Output value

    Data Type

    Latitude

    Latitude of selected position

    Number

    Longitude

    Output name

    Output value

    Data Type

    Latitude

    Latitude of selected position

    Number

    Longitude

    Latitude

    Latitude of marker's position

    Number between -90 and 90

    Longitude

    Longitude of marker's position

    Latitude

    Latitude of marker's position

    Number between -90 and 90

    Longitude

    Longitude of marker's position

    Input

    Description

    Data Type

    Coordinate

    List of points to draw a line between. List can be any length.

    List of objects. Each object must have the properties latitude and longitude. Latitude and Longitude must be numbers.

    Stroke Width

    Input

    Description

    Data Type

    Coordinate

    List of points to draw a line between. List can be any length.

    List of objects. Each object must have the properties latitude and longitude. Latitude and Longitude must be numbers.

    Stroke Width

    Note: If you close this pop pup message without copying your API key

    1. Navigate to APIs & Services.

    2. Select Credentials from the left side menu.

    3. Click SHOW KEY.

    Add Google Maps API Key to Thunkable

    Map

    Advanced Properties

    Layout

    Style

    Blocks

    Events

    On Map Ready

    Add GeoJSON

    We do not currently support adding GeoJSON tooltips or callouts.

    On User Location Change

    On Press

    On Long Press

    On Marker Press

    Functions

    Add Marker

    Add GeoJSON

    Add Icon Marker

    Add Polyline

    Add Polygon

    Delete Markers, Polylines and Polygons

    Properties

    Latitude

    Longitude

    Zoom

    Computed Height

    Computed Width

    Visible

    See Also

    Google Maps Platform: Set up your Google Cloud project
    Project Settings
    object blocks
    object blocks.
    markers
    polylines
    polygons
    properties
    Location Sensor

    Number

    Select from list (standard, satellite, hybrid, terrain, none)

    Number

    Select from list [solid, dotted, dashed]

    Longitude of selected position

    Longitude of selected position

    Number between -90 and 90

    Number between -90 and 90

    Width of polyline

    Width of outline

    asset