esri-leaflet-geocoder icon indicating copy to clipboard operation
esri-leaflet-geocoder copied to clipboard

Update documentation to include examples of ES6-style imports (`import * as .... from 'esri-leaflet-geocoder'`)

Open TannerJuby1 opened this issue 3 years ago • 8 comments

I installed this project via npm as well as it's types for my Gatsby (react) project, but I am unable to use it thru the leaflet package as the documentation suggests.

I ran npm i esri-leaflet-geocoder --save and npm i @types/esri-leaflet-geocoder --save which installed properly, but when I go to use the geocode like the documentation suggests:

L.esri.Geocoder.reverseGeocode(...

I get a runtime error that Geocoder is undefined.

I can get around this by importing the package directly:

import * as ELG from 'esri-leaflet-geocoder'

ELG.reverseGeocode(....

However, when I do it this way. I run into issues with the api key that I've opened another issue about

TannerJuby1 avatar Apr 05 '22 19:04 TannerJuby1

Hi, I think that import style is correct when using ES6 import style.

gavinr avatar Apr 05 '22 23:04 gavinr

Import style works, but the way the documentation shows to use it does not.

TannerJuby1 avatar Apr 06 '22 12:04 TannerJuby1

Hi, thanks for the feedback. Which documentation are you referring to?

gavinr avatar Apr 06 '22 12:04 gavinr

Under the API Reference section of this repo's README, it shows to use L.esri.Geocoding. indicating it extends the L import of Leaflet, but it does not. You have to import it and use it separately

TannerJuby1 avatar Apr 07 '22 15:04 TannerJuby1

Thanks...

  1. if you import using the script tag (for example, <script src="https://unpkg.com/esri-leaflet-geocoder"></script>), then you access via L.esri.Geocoding....
  2. if you import using the newer import * as .... from 'esri-leaflet-geocoder' then you'd refer to it directly using the imported name.

Either are valid, but the documentation focuses on number 1 since that is the pattern that most Leaflet users are following. I think your confusion is that number 2 is not really mentioned in the documentation, and that's a fair critique, as more people start to use the import... style. I'll rename this issue so that we can tackle that documentation update. PRs welcome!

gavinr avatar Apr 07 '22 16:04 gavinr