我正在尝试在Angular 7应用程序中使用latlon-geohash npm包,但是当我运行它时,出现此错误...
这是我的代码:
import { Component, OnInit, Output, EventEmitter } from '@angular/core';
import * as gh from 'latlon-geohash';
@Component({
selector: 'app-account',
templateUrl: './account.component.html',
styleUrls: ['./account.component.scss'],
})
export class AccountComponent implements OnInit {
constructor() {
}
ngOnInit() {
//Here I'm trying to encode my lat and lng to a GeoHash
console.log(gh.encode(39.36, -76.69, 4))
}
}
而且它不起作用。但是,当我运行
console.log(gh)
时,我得到了...Module {default: ƒ, __esModule: true, Symbol(Symbol.toStringTag): "Module"}
default: class Geohash
adjacent: ƒ adjacent(geohash, direction)
arguments: (...)
bounds: ƒ bounds(geohash)
caller: (...)
decode: ƒ decode(geohash)
encode: ƒ encode(lat, lon, precision) //HERE IS MY FUNCTION
length: 0
name: "Geohash"
neighbours: ƒ neighbours(geohash)
prototype: {constructor: ƒ}
__proto__: ƒ ()
[[FunctionLocation]]: latlon-geohash.js:11
[[Scopes]]: Scopes[3]
Symbol(Symbol.toStringTag): "Module"
__esModule: true
__proto__: Object
我在那里看到了
encode
函数。为什么不起作用?我似乎找不到答案,但是我觉得可能缺少一些非常简单的东西。有任何想法吗? 最佳答案
您应该将latlon-geohash
添加到angular.json
内的脚本中。必须在scripts
的angular.json
内部提供任何第三方脚本/库。提供latlon-geohash.js
到angular项目的完整相对路径,以使其可供使用。
确保您也重建项目。
前任:
"scripts": [
"./node_modules/path-to-lib/latlon-geohash.js",
还将导入添加到您的组件中:Tony提到的
import Geohash from 'latlon-geohash';
。这是stackblitz link供您尝试
关于javascript - 如何在angular 7中使用npm包('latlon-geohash'),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57097651/