WhirlyGlobe是一個非常有用的框架,我想爲每個國家/地區顯示Country Flags而不是名稱。 當LabelLayer.h看似乎有可能覆蓋一個圖片從文本標記產生的icontexture:在WhirlyGlobe中使用紋理作爲標籤
@interface SingleLabel : NSObject {
NSString *text;
WhirlyGlobe::GeoCoord loc;
NSDictionary *desc; // If set, this overrides the top level description
WhirlyGlobe::SimpleIdentity iconTexture; // If non-zero, this is the texture to use as an icon }
但我沒有發現任何方式使用標籤畫面顯示。
有人可以幫我理解如何用圖片標籤替換文本標籤嗎?
繼這裏@Mousebird第一個回答就是我「已經實施:
// This describes how our labels will look
NSDictionary *labelDesc =
[NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithBool:YES],@"enable",
[UIColor clearColor],@"backgroundColor",
[UIColor whiteColor],@"textColor",
[UIFont boldSystemFontOfSize:16.0],@"font",
[NSNumber numberWithInt:4],@"drawOffset",
[NSNumber numberWithFloat:0.08],@"height",
[NSNumber numberWithFloat:0.08],@"width",
nil];
// Build up an individual label
NSMutableArray *labels = [[[NSMutableArray alloc] init] autorelease];
SingleLabel *texLabel = [[[SingleLabel alloc] init] autorelease];
Texture *theTex = new Texture(@"icon", @"png");
theTex->setUsesMipmaps(true);
texLabel.text = @"";
texLabel.iconTexture = theTex->getId();
theScene->addChangeRequest(new AddTextureReq(theTex));
[texLabel setLoc:GeoCoord::CoordFromDegrees(5, -3)];
[labels addObject:texLabel];
[self.labelLayer addLabels:labels desc:labelDesc];
仍然是一個問題,紋理加載到內存中,但並沒有出現把一個字符串作爲文本創建一個空白正方形。在標籤
沿着每邊的icon.png 2的冪? – mousebird