esri-leaflet 和 esri-leaflet-geocoder 出错

Error with esri-leaflet and esri-leaflet-geocoder

提问人:Sophia Sandoval 提问时间:11/12/2023 最后编辑:Sophia Sandoval 更新时间:11/12/2023 访问量:9

问:

我需要帮助才能使 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。

TypeScript 传单 Esri Geocoder

评论


答: 暂无答案