2017-05-25 6 views
0

私は地図上に風を表示しようとしています。マップ上の各ピンについて、風と風の方向を表すために色と向きを変更したいと思います。 APIレスポンスでは、チタン - カスタム注釈回転のマップ

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

をそして:

は、ここで私がやったものだ

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

私は、各ピンの色を変更するには困難がありました。 'toImage()'がなければ、それは不可能だと思う。しかし、今、それは動作します:)

私はその方向を変更したいと思います。

だから
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); 

、私が行うことができますどのように、すべて、後に、すべてのピンを回転させて、最初のループのために、各ピンを回転させる:でも、このコードをしかし、ピンは常に同じ方向性を持って?

どうもありがとう:)

+1

ピンを回転させる代わりに、そのようなイメージを使用する方法** [傾斜ピン - ここをクリックしてください(http://www.stickpng.com/img/icons-logos-emojis/pins/shiny-red-map-pin )**ピンはすでに回転していますか? –

+0

はい、解決策ですが、多くの風向の画像を作らなければならないので、回転が可能かどうか疑問に思っていたのですが、おそらくそれをするつもりです:) –

+0

私のアプリが公開されているときに予期せぬバグに直面したくないので、アノテーションにマトリックスアニメーションを適用しようとしたことはありません。しかし、あらかじめ定義された画像(50枚の画像を置いても気にする人)を使うと、間違いなくバグや問題がなくても作業がはるかに簡単になります。だから先に進み、いくつかの努力をしてください:)あなたが直接定義された画像だけを使用しているので、あなたのアプリは安定して高速になります。 –

答えて

1

コメント欄に助言したように、この場合には、それがピンとしてあらかじめ回転画像ファイルにClick here to see Rotated Pinsを使用する方が効率的です。

多くの画像を作成する必要がありますが、多くのコードなしですべてのプラットフォームで最も効率的なソリューションです。&複雑です。

注意点として、実行時に画像を変更すると計算能力が向上するため、特に実行時に画像に最小限の変更を適用することをおすすめします。より高速な読み込みのために、常に最適解像度の&最小サイズのイメージを持っています。

関連する問題