Skip to main content

Latest Post

Custom Metadata Types vs Custom Settings vs Custom Labels

  Custom Metadata Types vs Custom Settings vs Custom Labels 💬 In plain words:  Three lookalikes: Custom Metadata = configuration that DEPLOYS with your code (best for app settings). Custom Settings = org/user-specific values, changeable at runtime (hierarchy type is great for bypass switches). Custom Labels = translatable text for the UI. 📌 Example:  API endpoint URLs per environment → Custom Metadata (deploys with code, sandbox vs prod values). A 'Bypass_Automation__c' checkbox an admin flips during data load → hierarchy Custom Setting. The word 'Submit' translated to Hindi → Custom Label. 🎬 Real-Life Example: The Fee Table Trapped Inside Code  Skyline charges a different delivery fee per city. Apex needs those rates on every booking. The Old/Bad Way:  if (city == 'Delhi') fee = 50. Else if (city == 'Mumbai') fee = 65. … Every rate change is a code change, a test run, and a deployment. Why this is bad:  Business data is trappe...

Displaying Maps in Lightning Web Components (LWC) - Full Dynamic Working Code

Introduction:

In this blog post, we will explore how to display maps in Lightning Web Components (LWC) within the Salesforce platform. Maps are a powerful visualization tool that can enhance the user experience and provide valuable geographical insights. We will walk through a step-by-step guide and provide a complete working code example to help you integrate maps into your LWC application.


Prerequisites:


To follow along with this tutorial, you should have a basic understanding of Salesforce development, Lightning Web Components, and JavaScript.


Step 1: Set Up the Project


Before we begin, make sure you have a Salesforce developer org or a sandbox environment. Create a new Lightning Web Component or use an existing one as per your requirement.


Step 2: Install the Mapbox GL JS Library


To render maps in LWC, we'll use the Mapbox GL JS library. To install it, follow these steps:

  1. Visit the Mapbox website (https://www.mapbox.com/) and sign up for a free account.
  2. Once you have an account, navigate to the Mapbox Tokens page (https://account.mapbox.com/access-tokens/).
  3. Create a new token by clicking on the "Create a token" button. Copy the generated token as we'll need it later.
  4. Download the Mapbox GL JS library from the Mapbox website or include it using a CDN in your LWC component.

Step 3: Set Up HTML and CSS Markup


In your LWC component's HTML file, add the necessary markup to display the map. You can structure it as follows:


<template>

  <div class="map-container">

    <div class="map" lwc:dom="manual"></div>

  </div>

</template>


<style>

  .map-container {

    height: 400px;

    width: 100%;

  }


  .map {

    height: 100%;

  }

</style>


Step 4: Incorporate JavaScript Logic


In the JavaScript file of your LWC component, add the logic to initialize and render the map using Mapbox GL JS. Use the following code as a starting point:


import { LightningElement } from 'lwc';

import { loadScript } from 'lightning/platformResourceLoader';


// Import the Mapbox GL JS library

import MAPBOX_GL from '@salesforce/resourceUrl/mapboxgl';


export default class MapComponent extends LightningElement {

  map;


  connectedCallback() {

    Promise.all([

      loadScript(this, MAPBOX_GL),

    ])

      .then(() => {

        this.initializeMap();

      })

      .catch((error) => {

        console.error('Error loading Mapbox GL JS:', error);

      });

  }


  initializeMap() {

    mapboxgl.accessToken = 'YOUR_MAPBOX_TOKEN';


    // Create a new map instance

    this.map = new mapboxgl.Map({

      container: this.template.querySelector('.map'),

      style: 'mapbox://styles/mapbox/streets-v11', // Set your desired map style

      center: [YOUR_LONGITUDE, YOUR_LATITUDE], // Set the initial map center coordinates

      zoom: 10, // Set the initial zoom level

    });


    // Add map controls and other customizations as needed

  }

}


Make sure to replace 'YOUR_MAPBOX_TOKEN', 'YOUR_LONGITUDE', and 'YOUR_LATITUDE' with your actual Mapbox access token and desired map center coordinates.


Step 5: Include the Map Component in a Lightning Page


To see the map in action, include your newly created map component in a Lightning page or app. You can either drag and drop the component onto the Lightning App Builder or include it programmatically using Lightning App Builder.


Conclusion:


In this blog post, we have explored how to display maps in Lightning Web Components (LWC) using the Mapbox GL JS library. We covered the necessary setup steps, including installing the library, setting up HTML and CSS markup, and incorporating the JavaScript logic to initialize and render the map. By following these steps and using the provided working code example, you can easily integrate maps into your LWC applications within the Salesforce platform. Maps can significantly enhance user experience and provide valuable geographical insights for your Salesforce-based solutions.

Popular Posts

Salesforce LWC Code for Multi-Select Lookup

Introduction: In Salesforce Lightning Web Components (LWC), implementing a multi-select lookup field can enhance the user experience and provide greater flexibility for selecting multiple related records. In this blog post, we will walk through the process of creating a multi-select lookup field using LWC. We will cover the required code snippets and provide step-by-step instructions to help you implement this functionality in your Salesforce org.