Leaflet Esri传单地理编码器:组件未渲染;如何在生产中连接提供商

Leaflet Esri传单地理编码器:组件未渲染;如何在生产中连接提供商,leaflet,react-leaflet,esri-leaflet-geocoder,Leaflet,React Leaflet,Esri Leaflet Geocoder,我正在使用很棒的esri传单geocoder插件,但无法在生产中进行渲染 我注册了一家提供商(ArcGIS在线地理编码服务)并获得了api密钥,然后按照github页面上的添加api密钥: var searchControl = L.esri.Geocoding.geosearch({ providers: [ L.esri.Geocoding.arcgisOnlineProvider({ // API Key to be passed to the ArcGIS Onl

我正在使用很棒的
esri传单geocoder
插件,但无法在生产中进行渲染

我注册了一家提供商(ArcGIS在线地理编码服务)并获得了api密钥,然后按照github页面上的添加api密钥:

var searchControl = L.esri.Geocoding.geosearch({
  providers: [
    L.esri.Geocoding.arcgisOnlineProvider({
      // API Key to be passed to the ArcGIS Online Geocoding Service
      useMapBounds: false,
      apikey: process.env.ESRI_API_KEY
    })
  ]
});
我遇到了以下错误:

TypeError:无法读取未定义的属性“Geocoding”

因此,我来到esri传单geocoder的官方文档页面,尝试了其中列出的内容。事实证明,它似乎更符合时代潮流

var provider = ELG.arcgisOnlineProvider({ token: process.env.ESRI_API_KEY });

var searchControl = new ELG.Geosearch({
  useMapBounds: false,
  providers: [provider]
});

console.log('ELG.arcgisOnlineProvider() ', provider);

console.log('searchControl', searchControl);
它不起作用,但控制台似乎表明它们确实使用了文档中列出的道具:

ELG.arcgisOnlineProvider()  
NewClass {_requestQueue: Array(0), _authenticating: false, options: {…}, _initHooksCalled: true, _eventParents: {…}}
options:
supportsSuggest: true
token: process.env.ESRI_API_KEY // In the log it's a string
url: "https://geocode.arcgis.com/arcgis/rest/services/World/GeocodeServer/"
__proto__: Object
_authenticating: false
_eventParents: {1: NewClass}
_initHooksCalled: true
_requestQueue: []
__proto__: NewClass


searchControl 
NewClass {options: {…}, _geosearchCore: NewClass, _leaflet_id: 1, _initHooksCalled: true}
options:
providers: Array(1)
0: NewClass
options: {token: process.env.ESRI_API_KEY // Again it is logging a string
url: "https://geocode.arcgis.com/arcgis/rest/services/World/GeocodeServer/", supportsSuggest: true}
_authenticating: false
_eventParents: {1: NewClass}
_initHooksCalled: true
_requestQueue: []
__proto__: NewClass
length: 1
__proto__: Array(0)
useMapBounds: false
__proto__: Object

那么,如何让“searchControl”在生产环境中工作/渲染呢?

这对我来说是可行的:

import*作为“esri传单地理编码器”的ELG;
var searchControl=ELG.geosearch({
useMapBounds:false,
供应商:[
ELG.arcgisOnlineProvider({
apikey:“你的钥匙在这里”
})
]
});
searchControl.addTo(单张地图);

谢谢你,赛斯,我试试看!