1***@qq.com
1***@qq.com
  • 发布:2024-12-13 17:07
  • 更新:2025-01-10 10:26
  • 阅读:63

【报Bug】app端通过renderjs渲染高德地图 使用本地图片作为marker 安卓、H5显示正常, ios 不显示

分类:uni-app

产品分类: uniapp/App

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);
}
},

操作步骤:

【报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 不显示

2024-12-13 17:07 负责人:无 分享
已邀请:
1***@qq.com

1***@qq.com (作者)

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);
}
},

a***@163.com

a***@163.com

把./static/dispatch/warm.png换成static/dispatch/warm.png,也就是去掉路径前的./试试

1***@qq.com

1***@qq.com (作者)

已解决,把图片转成base64j就行了

要回复问题请先登录注册