Open harichintalapudi opened 1 year ago
Hi, due to Salesforce restrictions, it does not seem like Esri Leaflet Vector will work as a Salesforce Lightening Web Component because Esri Leaflet Vector's dependencies use web workers. We added some details here: https://github.com/Esri/systems-integrations/blob/main/salesforce/README.md#using-esri-leaflet-vector
Promise.all error:TypeError: L.esri.Vector.vectorBasemapLayer is not a function with LWC
my code shown below
import { LightningElement, api, track, wire } from 'lwc'; import { getRecord } from 'lightning/uiRecordApi'; import {loadScript, loadStyle} from 'lightning/platformResourceLoader';
//Create API key using your ArcGIS Developer account developers.arcgis.com const apiKey = "AAPK7d26ac81e074448c87dada5c283f0d0flXzs5pSuaVFJXxUOkIingEF0nQ80Q3dmKuYDfwezrifW0UoMUH3SJJeU6SiCcCL_";
const FIELDS = [ 'Account.Billing_Address_Latitudec', 'Account.BillingLongitudec'];
const DefaultLat = 35.7796; const DefaultLong = -78.6382;
export default class ESRIMapDemo extends LightningElement { leafletInitialzed = false;
loadLeaflet(){
const promise1 = new Promise((resolve, reject) => { setTimeout(() => { resolve(loadScript(this, 'https://unpkg.com/esri-leaflet@3.0.2/dist/esri-leaflet.js')); }, 100); }); const promise2 = new Promise((resolve, reject) => { setTimeout(() => { resolve(loadScript(this, 'https://unpkg.com/esri-leaflet-geocoder@3.1.1/dist/esri-leaflet-geocoder.js')); }, 200); }); const promise3 = new Promise((resolve, reject) => { setTimeout(() => { resolve(loadScript(this, 'https://unpkg.com/esri-leaflet-vector@4.0.1/dist/esri-leaflet-vector.js')); }, 200); }); Promise.all([ loadStyle(this, 'https://unpkg.com/leaflet@1.7.1/dist/leaflet.css'), loadScript(this, 'https://unpkg.com/leaflet@1.7.1/dist/leaflet.js'), promise1, promise2, promise3, loadStyle(this, 'https://unpkg.com/esri-leaflet-geocoder@3.1.1/dist/esri-leaflet-geocoder.css'), ])
.then(() => { this.initializeMap(); }).catch(error => { console.log('Promise.all error:' + error); }); }
}