百度地址逆解析,修改vue的数据后没有对dom进行重新渲染
通过后台范围的经纬度,调用百度的逆解析接口获取到地理位置名称。但解析完成之后无法修改dom的值,需要怎么操作?想请教一下了解的大佬!
先上代码
//地址逆解析
var geoc = new BMap.Geocoder(); //百度的方法
var pt = new BMap.Point(data.Lng, data.Lat); //传入后台的经纬度
geoc.getLocation(pt, function (rs) {
var addComp = rs.addressComponents;
var area = addComp.province + addComp.city + addComp.district + addComp.street + addComp.streetNumber; //解析出地址
_this.pointData.Area = area //保存数据
console.log(_this.pointData.Area,1); //打印
});
console.log(_this.pointData.Area,2);
data中的属性声明
pointData: {
LastTime: null,
Speed: null,
Lat: null,
Lng: null,
Area: null,
},
DOM的数据绑定
<div>定位时间: {{pointData.LastTime | moment("YYYY年MM月DD日")}}</div>
<div>定位速率:{{pointData.Speed}}KM/小时</div>
<div>位置:{{pointData.Area}}</div>
截图
麻烦大佬抽空解答,万分感谢!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这行代码改写下
pointData对象是引用类型,修改后引用的地址没变,vue检测不到变化.用this.$set(obj, key, value).