1.直接上代码,使用搜索组件,然后想替换默认图标,显示搜索的第一个地点做一个范围的中心点
vm.placeSearch.search(vm.keyword, function(status, result) {
if (status === "complete" && result.info === "OK") {
var poiArr = result.poiList.pois; // 取搜索结果的第一条数据
var rangeCenter = [poiArr[0].location.lng, poiArr[0].location.lat];
vm.rangeCenter = rangeCenter;
vm.rangeCenterFn();
}
});
rangeCenterFn() {
let vm = this;
if (vm.placeSearch) {
// setTimeout(() => {
vm.placeSearch.clear(); // 清楚搜索结果移除自带标记点位
if (vm.placeSearch.render) {
vm.placeSearch.render.markerList.clear();
}
// }, 1000);
}
if (vm.rangeCenMarker) {
// 之前搜索的中心标记点是否存在
vm.mapObj.remove([vm.rangeCenMarker]);
}
vm.setRangeCenterMarker(vm.rangeCenter);
},
然后第一次使用clear 是会报错,之后就不会报错
之后发现在clear之前加一个延时就可以解决报错问题