javascript - 离子推到 Array 给 [object Object] 代替
问题描述
有这个功能
drawCircle(pointa, pointb, radius, dir) {
console.log("TESTING POINTA POINTB >>>>>>>>>>>>"+pointa+" - "+pointb);
let lat;
let lng;
var d2r = Math.PI / 180; // degrees to radians
var r2d = 180 / Math.PI; // radians to degrees
var earthsradius = 3963; // 3963 is the radius of the earth in miles or 6371 in km
var points = 32;
// find the raidus in lat/lon
var rlat = (radius / earthsradius) * r2d;
var rlng = rlat / Math.cos(pointa * d2r);
var extp = new Array();
if (dir==1) {var start=0;var end=points+1} // one extra here makes sure we connect the ends
else {var start=points+1;var end=0}
for (var i=start; (dir==1 ? i < end : i > end); i=i+dir) {
var theta = Math.PI * (i / (points/2));
let ey = pointb + (rlng * Math.cos(theta)); // center a + radius x * cos(theta)
let ex = pointa + (rlat * Math.sin(theta)); // center b + radius y * sin(theta)
extp.push({lat: ey, lng: ex});
//console.log("PUSHING TO EXTP >>>>>>>>>>>>",{'lat': ey,'lng': ex});
}
console.log("CHECK EXTP ARRAY >>>>>>>>>>>>",extp);
return extp;
}
它应该创建一个数组(extp)并将其返回给我在谷歌地图中使用的函数(this.drawCircle)
this.map.addPolygon({
points: this.points,
holes: this.drawCircle(this.myLat, this.myLong, 1, 1),
'strokeColor': "black",
'strokeWidth': 2,
'fillColor': "#222222"
});
但是,在控制台中而不是给出值,我得到的是对象而不是(例如): {lat: 85,lng: 179.9} 以这种格式 - 作为回报,它不会在多边形中建立洞。
检查EXTP数组>>>>>>>>>>>> [object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object], [对象对象],[对象对象],[对象对象],[对象对象],[对象对象],[对象对象],[对象对象],[对象对象],[对象对象],[对象对象], [对象对象],[对象对象],[对象对象],[对象对象],[对象对象],[对象对象],[对象对象],[对象对象],[对象对象],[对象对象], [对象对象],[对象对象],[对象对象],[对象对象],[对象对象],[对象对象]
编辑:
如果我更换
this.map.addPolygon({
points: this.points,
holes: this.drawCircle(this.myLat, this.myLong, 1, 1),
'strokeColor': "black",
'strokeWidth': 2,
'fillColor': "#222222"
});
和
this.map.addPolygon({
points: this.points,
holes: [
[
{lat: 29.68224948021748,lng: -23.676965750000022},
{lat: 29.68224948021748,lng: 44.87772174999998},
{lat: 71.82725578445813,lng: 44.87772174999998},
{lat: 71.82725578445813,lng: -23.676965750000022},
]
],
'strokeColor': "black",
'strokeWidth': 2,
'fillColor': "#222222"
});
它工作正常,所以我假设问题仍然是由于 extp。有任何想法吗?
解决方案
推荐阅读
- html - 如何使用animejs在Html5画布中实现移动字母动画
- wso2 - 我们可以在 x-mediation-script 中使用 $ref 吗?
- java - Spring boot 2.0.5项目CORS问题:将CORS头添加到http响应中
- java - 2个具有相同ID的类如何更改属性并在两者中反映
- mariadb - MariaDB 10.3 序列编号的间隙
- react-native - 重定向到另一个页面之前的异步存储
- ruby-on-rails - 是否可以将文本列更改为整数支持的枚举而无需停机?
- javascript - “服务器上的子类别响应问题”
- wordpress - 为什么 wp_redirect() 向我显示标头信息 - 标头已由..发送?
- python-3.x - 匹配长度不等的字符列表