【发布时间】:2019-11-08 09:05:44
【问题描述】:
我在尝试将文本转换为 geoloc 坐标的数字时遇到问题。 我的模型是:一个具有 Id 等的站点......以及一个点数组作为属性。我决定不在站点和点之间创建关系。
所以在我的代码中: points 声明如下:
points: Array<any> = [];
rectangles 声明如下(一个数组数组):
rectangles: Array<Array<LatLngLiteral>> = [];
我在 网站 上为特定的客户“循环”,并正在构建名为 rectangles 的数组以在谷歌地图上显示它。矩形由站点来自数据库的尽可能多的数组组成。这里我有两个站点,矩形数组是:
rectangles : [[
[
{"lat":44.841225,"lng":-0.580036},
{"lat":44.842236,"lng":-0.64696},
{"lat":44.805615,"lng":-0.63084}
],
[
{"lat":44.819868,"lng":-0.582811},
{"lat":44.853709,"lng":-0.483573},
{"lat":44.80696,"lng":-0.53299},
{"lat":44.80696,"lng":-0.629078}
]]]
获取它的代码是:
this.customerApi.getSites(this.currentUser.id)
.subscribe(response => {
this.sites = response;
this.rectangles.push(this.sites.map(s => s.points));
});
}
网站是这样的:
sites :
[
{
"siteName":"Site de Marseille",
"siteAdress1":"rue de blabla",
"siteAddress2":"string",
"siteCodPost":"13010",
"siteTown":"Marseille",
"points":
[
{"lat":44.841225,"lng":-0.580036},
{"lat":44.842236,"lng":-0.64696},
{"lat":44.805615,"lng":-0.63084}
],
"id":"5d0ce7c4a06b07213a87a753",
"companyId":"5cd430745304a21b9464a219",
"customerId":"5cd430c65304a21b9464a21a"`
}
,
{
"siteName":"Site de Bordeaux",
"siteAdress1":"rue de la Garonne",
"siteAddress2":"string",
"siteCodPost":"31000",
"siteTown":"Bordeau x",
"points":
[
{"lat":44.819868,"lng":-0.582811},
{"lat":44.853709,"lng":-0.483573},
{"lat":44.80696,"lng":-0.53299},
{"lat":44.80696,"lng":-0.629078}
],
"id":"5d0cf65fa06b07213a87a754",
"companyId":"5cd430745304a21b9464a219",
"customerId":"5cd430c65304a21b9464a21a"}]
我的 rectangles 数组的格式很好,因为像这样的另一个数组,其值手写在代码中,在 Google 地图上显示矩形。除了方括号的数量...
我认为这来自数据格式。
所以我尝试了:points: Array<LatLngLiteral> = [];,但它不起作用。
我不知道在哪里可以使用 parseFloat() 方法来尝试(如果需要)。
有没有人有宝贵的想法可以帮助我?
【问题讨论】:
-
你已经有号码了。作为一个有用的提醒,字符串通常在引号之间,在你的情况下它不是:那些是数字!
-
好的,谢谢。我还注意到矩形有太多的方括号。我不知道这是从哪里来的。
-
没有minimal reproducible example 我真的不能告诉你。
-
我的问题是要知道为什么 push (.map ...) 会生成一个额外的方括号。这是定义:angular-maps.com/api-docs/agm-core/interfaces/latlngliteral
-
根据您提供的代码,没有理由有一个额外的方括号。检查我的Stackblitz example...
标签: arrays angular typescript