uni-app app端通过renderjs渲染高德地图 使用本地图片作为marker 安卓、H5显示正常, ios 不显示
uni-app app端通过renderjs渲染高德地图 使用本地图片作为marker 安卓、H5显示正常, ios 不显示
产品分类
uniapp/App
示例代码
dispatchSite(data) {
// 一次性将海量点添加到图层
let labelsLayer = new AMap.LabelsLayer({
zIndex: 1000,
collision: false
});
map.add(labelsLayer);
let markers = [];
data.forEach(item => {
let level = item.level;
let labelMarker = new AMap.LabelMarker({
name: item.name,
position: [item.lng, item.lat],
rank: 1,
zIndex: 16,
icon: {
type: "image",
image: "./static/dispatch/warm.png",
size: [58, 33],
opacity: 1 // 设置不透明度
},
text: {
content: `${item.number}`,
direction: "center",
offset: [10, -5],
style: {
fontSize: 12,
fillColor: "#333",
backgroundColor: "rgba(34, 136, 79, 0)"
}
}
});
labelMarker.on("click", function(e) {
ownerVms.callMethod('getmaptype', item)
});
markers.push(labelMarker);
});
labelsLayer.add(markers);
// 数据量小于500时再加载
if (data.length < 500) {
let allMarket = []
data.forEach(item => {
let polygon = new AMap.Polygon({
path: item.path, //路径
strokeColor: TypeConfig[7].strokeColor,
strokeWeight: TypeConfig[7].strokeWeight,
strokeOpacity: TypeConfig[7].strokeOpacity,
fillOpacity: TypeConfig[7].fillOpacity,
fillColor: TypeConfig[7].fillColor,
strokeStyle: TypeConfig[7].strokeStyle,
zIndex: TypeConfig[7].zIndex,
bubble: TypeConfig[7].bubble
});
//多边形 Polygon对象添加到 Map
allMarket.push(polygon)
});
map.add(allMarket);
}
}
操作步骤
【报Bug】app端通过renderjs渲染高德地图 使用本地图片作为marker 安卓、H5显示正常, ios 不显示
预期结果
【报Bug】app端通过renderjs渲染高德地图 使用本地图片作为marker 安卓、H5显示正常, ios 显示
实际结果
【报Bug】app端通过renderjs渲染高德地图 使用本地图片作为marker 安卓、H5显示正常, ios 不显示
Bug描述
【报Bug】app端通过renderjs渲染高德地图 使用本地图片作为marker 安卓、H5显示正常, ios 不显示
开发环境信息
项 | 信息 |
---|---|
PC开发环境操作系统 | Windows |
PC开发环境操作系统版本号 | 64 |
HBuilderX类型 | 正式 |
HBuilderX版本号 | 4.29 |
手机系统 | iOS |
手机系统版本号 | iOS 17 |
手机厂商 | 苹果 |
手机机型 | 苹果12 |
页面类型 | vue |
vue版本 | vue2 |
打包方式 | 云端 |
项目创建方式 | HBuilderX |
dispatchSite(data) {
// 一次性将海量点添加到图层
let labelsLayer = new AMap.LabelsLayer({
zIndex: 1000,
collision: false
});
map.add(labelsLayer);
let markers = [];
data.forEach(item=>{
let level = item.level;
let labelMarker = new AMap.LabelMarker({
name: item.name,
position: [item.lng, item.lat],
rank:1,
zIndex: 16,
icon: {
type: “image”,
image: “./static/dispatch/warm.png”,
size: [58, 33],
opacity: 1 // 设置不透明度
},
text: {
content: ${item.number},
direction: “center”,
offset: [10, -5],
style: {
fontSize: 12,
fillColor: “#333”,
backgroundColor: “rgba(34, 136, 79, 0)”,
},
},
});
labelMarker.on(“click”, function(e) {
ownerVms.callMethod(‘getmaptype’, item)
});
markers.push(labelMarker);
})
labelsLayer.add(markers);
// 数据量小于500时再加载
if (data.length<500) {
let allMarket = []
data.forEach(item=>{
let polygon = new AMap.Polygon({
path: item.path, //路径
strokeColor: TypeConfig[7].strokeColor,
strokeWeight: TypeConfig[7].strokeWeight,
strokeOpacity: TypeConfig[7].strokeOpacity,
fillOpacity: TypeConfig[7].fillOpacity,
fillColor: TypeConfig[7].fillColor,
strokeStyle: TypeConfig[7].strokeStyle,
zIndex: TypeConfig[7].zIndex,
bubble: TypeConfig[7].bubble,
});
//多边形 Polygon对象添加到 Map
allMarket.push(polygon)
})
map.add(allMarket);
}
},
把./static/dispatch/warm.png换成static/dispatch/warm.png,也就是去掉路径前的./试试
也不行
已解决,把图片转成base64j就行了