一些地图注释与Android应用中未显示的自定义图像

时间:2016-02-06 17:07:35

标签: android appcelerator appcelerator-titanium appcelerator-studio

我正在Appcelerator Studio中开发Android应用程序。

在应用程序中,我有一张地图,显示带有不同自定义图像的注释。注释以这种方式创建:

annotation = map.createAnnotation({
   image: 'images/pin' + myNumber + '.png',
   latitude: myLat,
   longitude: myLong,
   title: myTitle
});

几乎所有的注释都会显示出来,但有些注释因某些原因是不可见的。我已经确认'images / pin'+ myNumber +'。png'是我要显示的图像的实际路径。

显示的图像:

enter image description here

未显示的图片:

enter image description here

修改

事情变得更加怪异。

出于测试目的,我创建了两个ImageView,其image属性分别设置为'images / pin3.png'和'images / pin163.png'。两个图像都显示出来。但是,如上所述,当将“images / pin163.png”设置为注释的图像属性时,它是不可见的。

我非常感谢您的帮助,因为我不知道问题可能是什么。

使用测试编辑2:

Nexus 5,Android 6.0.1:

  • 显示第3针
  • 不显示引脚163

Sony Experia Z,Android 4.4:

  • 显示第3针
  • 不显示引脚163

Sony Experia Z,Android 5.Something:

  • 显示第3针
  • 还显示了引脚163

3 个答案:

答案 0 :(得分:2)

我终于明白了。

我没有设置注释的图像属性,而是创建了一个视图,将视图的backgroundImage属性设置为我的图像,然后将视图分配给注释的customView属性。

var customAnnotationView = Ti.UI.createView({
    backgroundImage: 'images/pin' + myNumber + '.png',
});

var annotation = map.createAnnotation({
   customView: customAnnotationView,
   latitude: myLat,
   longitude: myLong,
   title: myTitle
});

答案 1 :(得分:0)

我在Appcelerator Studio中开发了一个Android应用程序,在我的项目中有很多图像;在特殊情况下,我试图在同一个控制器中加载许多图像,并且通常不会显示所有图像。 最后,我发现了这个问题的原因,那就是图像的大小。 事实上,如果我调整它们的大小,就会显示出来。

我希望我的经验会有所帮助。

让我知道。

此致

答案 2 :(得分:-1)

在Android上遇到类似的问题。确保已将具有正确分辨率的图像放入密度文件夹中:

float d = Camera.main.nearClipPlane + 2f; // added some buffer to accommodate for object dimensions
Vector3 touchPosition = Camera.main.ScreenToWorldPoint(
                            new Vector3(touch.position.x, touch.position.y, d));