useGeocoder.ts 592 B

1234567891011121314151617181920212223
  1. /*
  2. * @Description:
  3. * @Author: YangJianFei
  4. * @Date: 2023-03-24 17:59:37
  5. * @LastEditTime: 2023-04-04 16:22:00
  6. * @LastEditors: YangJianFei
  7. * @FilePath: \vue-baidu-map-3x\components\hooks\useGeocoder.ts
  8. */
  9. import { useMap } from './useMap';
  10. let geocoder: IGeoCoder;
  11. export const useGeocoder = (): Promise<IGeoCoder> => {
  12. return new Promise((resolve) => {
  13. if (geocoder) {
  14. resolve(geocoder);
  15. } else {
  16. useMap().then(BMap => {
  17. geocoder = new BMap.Geocoder();
  18. resolve(geocoder);
  19. });
  20. }
  21. });
  22. }