提问人:Sophia Sandoval 提问时间:11/12/2023 最后编辑:Sophia Sandoval 更新时间:11/12/2023 访问量:9
esri-leaflet 和 esri-leaflet-geocoder 出错
Error with esri-leaflet and esri-leaflet-geocoder
问:
我需要帮助才能使 esri 地理编码服务正常工作。Leaflet 地图和 vectorBasemapLayer 工作正常,但是当我尝试添加 esri-leaflet 和 esri-leaflet-geocoder 时,我保持屏幕变白,并出现类型错误,“TypeError:无法访问属性”Geocoding“,L.esri 未定义”。 我收到这个错误。“类型为 '{ apikey: string;附近: { lat: number; lng: number; };}' 不可分配给类型为“ArcgisOnlineProviderOptions”的参数。 对象文本只能指定已知属性,并且“ArcgisOnlineProviderOptions”类型中不存在“apikey”
代码如下:
const apiKey =
"API_KEY";
const basemapEnum = "arcgis/navigation";
import { CapacitorHttp } from "@capacitor/core";
import { vectorBasemapLayer } from "esri-leaflet-vector";
import * as L from "leaflet";
import * as esri from "esri-leaflet";
import * as EsriGeocoder from "esri-leaflet-geocoder";
export const init = (mapView: HTMLDivElement) => {
const map = L.map(mapView, {
minZoom: 5,
});
map.setView([34.02, -118.805], 13);
vectorBasemapLayer(basemapEnum, { apiKey }).addTo(map);
const searchControl = L.esri.Geocoding.geosearch({
position: "topright",
placeholder: "Enter an address or place e.g. 1 York St",
useMapBounds: false,
providers: [
L.esri.Geocoding.arcgisOnlineProvider({
apikey: apiKey,
nearby: {
lat: -33.8688,
lng: 151.2093
}
})
]
}).addTo(map);
return map;
};
我按照官方文档进行了操作,我知道 Api 密钥正在工作,因为它正在使用 Esri 的 vectorBasemapLayer 渲染 Leaflet。
答: 暂无答案
评论