import { type CoordTypeSupplier } from '../map/lat-lng'; import type { Place } from '../map/map/extra/places-service'; /** * Google地图官方提供的载入方式, 使用{@link google.map.importLibrary}动态载入依赖 * * 实验性的特性, 实测当前只有`3.52`版支持 * * @see https://developers.google.com/maps/documentation/javascript/load-maps-js-api#dynamic-library-import */ export declare function initGoogleMapDynamicLibraryImport(args: { key: string; v?: string; }): void; export declare const GoogleConst: { /** Google的坐标0点 */ readonly LATLNG_ZERO: google.maps.LatLng; readonly BOUNDS_ZERO: google.maps.LatLngBounds; }; export interface AddressFields { /** 国家 */ country: string; /** 省 */ province: string; /** 市 */ city: string; /** 区 */ district: string; /** 街道 */ street: string; /** 门牌号 */ streetNumber: string; } export declare function parseGoogleAddressComponents(addressComponents: google.maps.GeocoderAddressComponent[], outResult?: AddressFields): AddressFields; export declare function parseGooglePlace(place: google.maps.places.PlaceResult, coordTypeSupplier: CoordTypeSupplier): Place; /** * {@link google.maps.InfoWindow}的content元素, 在窗口关闭之后, 会被从DOM中移除, 父节点会变成null; * 通过直接在组件上设置v-if来移除组件时, Vue在更新DOM的过程中会去读取组件元素的父节点, * 如果`组件元素`和`弹窗的content元素`是同一个对象, 则此时会报空指针错误... * * 该方法通过给组件元素包裹一个div节点, 来规避该问题 * * @param $el 组件元素, `this.$el` * @returns 包裹后的元素, 应该被设置成弹窗的content元素 */ export declare function wrapComponentElementForGoogle($el: HTMLElement, className: string): HTMLDivElement; //# sourceMappingURL=google-utils.d.ts.map