我试图在地图上显示风。对于我地图上的每个图钉,我想改变颜色和方向,以便表示力和风向。
这就是我所做的:
var pinWindLabel = Ti.UI.createLabel({ width:Ti.UI.SIZE, height:Ti.UI.SIZE, text:'\ue958', font:{fontFamily:Ti.App.ICONS, fontSize:25}, touchEnabled:false });
var pinWind = Ti.UI.createView({width:Ti.UI.SIZE, height:Ti.UI.SIZE});
pinWind.add(pinWindLabel);
并且,在API响应中:
for(var k=0; k<res.length; k++){
if(res[k].wind_avg < 10){
pinWindLabel.setColor('green');
} else{
pinWindLabel.setColor('blue');
}
var pin = Map.createAnnotation({
latitude: res[k].lat,
longitude: res[k].lng,
image:pinWind.toImage(),
});
annotations.push(pin);
}
我很难改变每个针脚的颜色。如果没有&#39; toImage()&#39;,我认为这是不可能的。但现在,它有效:)
现在我想改变它的方向。但即使使用此代码,引脚也始终具有相同的方向:
var pinWindLabel = Ti.UI.createLabel({ width:Ti.UI.SIZE, height:Ti.UI.SIZE, text:'\ue958', font:{fontFamily:Ti.App.ICONS, fontSize:25}, touchEnabled:false });
var pinWind = Ti.UI.createView({width:Ti.UI.SIZE, height:Ti.UI.SIZE});
pinWind.transform = Ti.UI.create2DMatrix({rotate: 236});
pinWind.add(pinWindLabel);
那么,首先,如何旋转所有引脚,然后旋转for循环中的每个引脚?
非常感谢:)
答案 0 :(得分:1)
正如评论部分所述,在这种情况下,使用预旋转的图像文件 Click here to see Rotated Pins 作为引脚效率更高。
虽然您需要创建许多图片,但它是所有平台上最有效的解决方案,而且没有太多代码和复杂性。
需要注意的另一点是,在运行时修改图像需要更多的计算能力,因此始终建议在运行时对图像应用最少的修改。始终拥有最佳分辨率&amp;最小尺寸的图像,可加快装载速度。