在Titanium Map视图中用Character或Number替换Annotation图像

时间:2013-01-24 06:23:58

标签: android titanium-mobile

我使用以下代码

创建了地图视图
var map = Ti.Map.createView({   

    mapType:Titanium.Map.STANDARD_TYPE,
    regionFit: true,
    animate: true,
    touchEnabled: true,
    userLocation:true,
    region:{

        latitude: 19.076719,
        longitude: 72.878583,
        latitudeDelta:0.5,
        longitudeDelta:0.5
    }   

 }); 

我正在使用以下代码创建Annotation

var pin = Ti.Map.createAnnotation({

    latitude:19.076719,
    longitude:72.878583,
    title:  "Dronzer",
    image:"pin.png"

});
map.addAnnotation(pin);

问题:如何将此图片替换为数字“12”以在地图上显示?

1 个答案:

答案 0 :(得分:1)

几天后,我找到了解决方案。

  1. 创建标签

      var price = Ti.UI.createLabel({
    
                    text : "  "+data.price,//Number=12 Input from server
                    color : 'black',
                    font : {fontSize:'15dp',font:"monospace",fontWeight:"bold"},
                    height : '30dp',
                    width : '30dp',
                    left: '50%',     
                    backgroundImage:"red_pin1.png",
    
                });
    
  2. 创建一个ImageView并将其图像属性设置为blob。

    var anImageView = Ti.UI.createImageView({
                    image : price.toImage(), //setting label as a blob
                    width : 'auto',
                    height : 'auto',
                });
    
  3. 创建一个Annotation并将其image属性设置为blob。

    var pin = Ti.Map.createAnnotation({
    
                    myid:data._id,
                    latitude:data.latitude,
                    longitude:data.longitude,
                    title:  data.vendor_name,
                    image:anImageView.toBlob() //setting ImageView as blob
    
                });