我正在Appcelerator Studio中开发Android应用程序。
在应用程序中,我有一张地图,显示带有不同自定义图像的注释。注释以这种方式创建:
annotation = map.createAnnotation({
image: 'images/pin' + myNumber + '.png',
latitude: myLat,
longitude: myLong,
title: myTitle
});
几乎所有的注释都会显示出来,但有些注释因某些原因是不可见的。我已经确认'images / pin'+ myNumber +'。png'是我要显示的图像的实际路径。
显示的图像:
未显示的图片:
事情变得更加怪异。
出于测试目的,我创建了两个ImageView,其image属性分别设置为'images / pin3.png'和'images / pin163.png'。两个图像都显示出来。但是,如上所述,当将“images / pin163.png”设置为注释的图像属性时,它是不可见的。
我非常感谢您的帮助,因为我不知道问题可能是什么。
Nexus 5,Android 6.0.1:
Sony Experia Z,Android 4.4:
Sony Experia Z,Android 5.Something:
答案 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));