我正在使用nativescript-google-maps-sdk插件来创建Google地图。
一切正常,但是我的自定义标记图标出现了问题,如果您查看这些图片,您会发现图标大小在Android上未保留,这使它们变得非常非常小几乎看不到他们。在模拟器和真实电话中都会发生这种情况。
但是在IOS上,大小是可以的,如您在第二张图片中所见。图标图像的大小为16x16
像素,格式为.png
。
我无法找到任何解决方案,所以这是我的最后选择,有人知道为什么会这样吗?
这是我用来创建标记的代码:
getImage(this.getWarningIcon(warning.status)).then((result) => {
const icon = new Image();
icon.imageSource = result;
const marker = new Marker();
marker.position = warning.centerOfPolygon;
marker.icon = icon;
marker.flat = true;
marker.anchor = [0.5, 0.5];
marker.visible = warning.isVisible;
marker.zIndex = zIndexOffset;
marker.infoWindowTemplate = 'markerTemplate';
marker.userData = {
description: warning.description,
startTime: warning.startTime,
completionTime: warning.completionTime,
freeText: warning.freeText
};
this.layers.push(marker);
this.map.addMarker(marker);
});
答案 0 :(得分:0)
在这种情况下,对于高密度设备而言16px的声音太低了。增大从服务器发送的图像的大小,或在将图像传递到标记之前本地调整图像的大小。
如果您熟悉Android API,则也可以考虑本地生成缩放位图。图像处理在Android中总是很复杂。当图像至少是静态的时,建议使用可绘制对象。