1

我正在使用nativescript-google-maps-sdk插件来创建 Google 地图。

一切正常,但我的自定义标记图标有问题,如果您查看这些图片,您会发现 Android 上没有保留图标大小,使它们非常非常小,以至于您几乎看不到他们。这发生在模拟器和真实手机上。

然而,在 IOS 上,尺寸很好,如您在第二张图片中所见。图标图像具有16x16像素大小并具有.png格式。

我一直无法找到任何解决方案,所以这是我最后的手段,有谁知道为什么会发生这种情况?

安卓

IOS

这是我用来创建标记的代码:

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

1 回答 1

0

在这种情况下,对于高密度设备来说,16px 听起来太低了。在将图像传递给标记之前,增加从服务器发送的图像的大小或在本地调整图像大小。

如果您熟悉 Android api,也可以考虑在本机生成缩放位图。图像处理在 Android 中总是很复杂。当您的图像至少是静态的时,建议使用可绘制对象。

于 2018-11-06T11:15:39.710 回答