为什么我的markers和markertap都不生效呀,用tap返回的也都是未定义属性
用的是腾讯地图
后来按照腾讯的开发文档添加了地点搜索的方法,在HBuilder内置浏览器使用没问题,能返回很清楚的结果,但是在谷歌浏览器运行就报错,为什么呀
<template>
<view class="civil-map">
<map
id="map"
:latitude="latitude"
:longitude="longitude"
class="map"
:markers = 'markers'
>
</map>
<img class="map-tips" src="@/static/civil-map/map-tips.png" alt="">
<view class="btn" @click="nearbySearch">就近掩蔽导航</view>
</view>
</template>
<script>
// 引入SDK核心类
const QQMapWX = require('@/static/js/qqmap-wx-jssdk.js');
// 实例化API核心类
const qqmapsdk = new QQMapWX({
key: 'RTMBZ-TO46L-EXUPO-EQ2RY-ZELO7-C7FTT' // 必填
});
export default {
data() {
return {
id: 0,
latitude: 31.806530,//纬度
longitude: 117.224414 ,//经度
markers: [
{
latitude:31.806530,
longitude:117.224414 ,
iconPath:'./static/convenient-service/add-visitor/selected.png',
}
]
}
},
methods: {
nearbySearch(){
var _this = this;
// 调用接口
qqmapsdk.search({
keyword: '星巴克', //搜索关键词
location: '31.806530,117.224414', //设置周边搜索中心点
success: function (res) { //搜索成功后的回调
var mks = []
for (var i = 0; i < res.data.length; i++) {
mks.push({ // 获取返回结果,放到mks数组中
title: res.data[i].title,
id: res.data[i].id,
latitude: res.data[i].location.lat,
longitude: res.data[i].location.lng,
iconPath: "./static/civil-map/map-zhongdian-icon.png", //图标路径
width: 20,
height: 20
})
}
console.log(mks);
_this.markers = mks
},
fail: function (res) {
console.log(res);
},
complete: function (res){
console.log(res);
}
});
}
}
}
</script>
<style scoped lang="scss">
.civil-map {
position: relative;
overflow: hidden;
.map {
width: 90vh;
height: 94vh;
}
.map-tips {
position: absolute;
top: 18px;
left: 17px;
width: 90px;
}
.btn {
position: absolute;
bottom: 15px;
left: 67px;
width: 240px;
border-radius: 5px;
font-weight: bold;
font-size: 15px;
color: #FFFEFE;
background: #2979FF;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
padding: 12px;
}
}
</style>