2016-07-01 4 views
0

enter image description herePin Bild und Text zeigen Unschärfe und nicht richtig eingestellt, dann wie klar zu zeigen. bitte geben Sie mir Lösung

Aufruf von Methoden

UIImage *imgmarkericon = [self finalimg:[markerInfo valueForKey:@"assets_name"] img:[self mergeImg:pinImage str:[markerInfo valueForKey:@"assets_name"]]]; 

marker.icon = imgmarkericon; 

Merge Pin Bild und Label

-(UIImage*)mergeImg:(UIImage*)img str:(NSString*)txt 
{ 

    UIImage *bottomImage = [UIImage imageNamed:@"bgMarker1.png"]; //it's a pin image 
    UIImage *image = img; //pin image 

    CGSize newSize = CGSizeMake(30,50); 
    UIGraphicsBeginImageContext(newSize); 

    // Use existing opacity as is 
    [bottomImage drawInRect:CGRectMake(0,0,newSize.width-10,newSize.height-10)]; 

    // Apply supplied opacity if applicable 
    [image drawInRect:CGRectMake(4,5,12,15) blendMode:kCGBlendModeNormal alpha:1.0]; 

    UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext(); 

    UIGraphicsEndImageContext(); 
    return newImage; 
} 

Lable Text auf das Bild Beschriftungstext Hintergrundbild weiße Farbe gesetzt

-(UIImage*)finalimg:(NSString*)txt img:(UIImage*)img 
{ 
    UIImage *imageblank = [[UIImage imageNamed:@"markerlbl.png"] stretchableImageWithLeftCapWidth:10 topCapHeight:10]; 

    UIImage *image2 = [self drawText:txt inImage:imageblank atPoint:CGPointMake(0,3.5)]; 
    UIImage *image1 = img; 

    CGSize size = CGSizeMake(image1.size.width+50, image1.size.height + image2.size.height); 
    UIGraphicsBeginImageContext(size); 

    [image1 drawInRect:CGRectMake(0,0,40, image1.size.height)]; 

    [image2 drawInRect:CGRectMake(0,40,imageblank.size.width-3,imageblank.size.height)]; 

    UIImage *finalImage = UIGraphicsGetImageFromCurrentImageContext(); 

    UIGraphicsEndImageContext(); 
    return finalImage; 

} 

Draw Text zum Bild

-(UIImage*)drawText:(NSString*)text inImage:(UIImage*)image1 atPoint:(CGPoint)point 
{ 
    UIFont *font = [UIFont boldSystemFontOfSize:13]; 

    UIGraphicsBeginImageContext(image1.size); 

    //[image1 drawInRect:CGRectMake(0,0,image1.size.width,image1.size.height)]; 
    [image1 drawInRect:CGRectMake(0,0,100,image1.size.height)]; 
    //CGRect rect = CGRectMake(point.x+5,point.y-4, image1.size.width+20, image1.size.height+20); 
    CGRect rect = CGRectMake(point.x+5,point.y-4, image1.size.width, image1.size.height+20); 


    [[UIColor blackColor] set]; 
    [text drawInRect:CGRectIntegral(rect) withFont:font]; 
    UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext(); 
    UIGraphicsEndImageContext(); 

    return newImage; 
} 

in diesem Code nicht klar Stift Bild und Text zeigen, ich brauche einen klaren Text und Bild bitte geben Sie mir Lösung

Antwort

0

Verwenden Google Static Maps API, Static Maps Mit der API können Sie ein Google Maps-Bild auf Ihrer Webseite einbetten, ohne JavaScript oder dynamische Seiten laden zu müssen. Der Google Static Maps-API-Dienst erstellt Ihre Karte basierend auf URL-Parametern, die über eine HTTP-Standardanforderung gesendet werden, und gibt die Karte als Bild zurück, das Sie auf Ihrer Webseite anzeigen können.

Beispiel URL Parameter:

https://maps.googleapis.com/maps/api/staticmap?parameters

  • scale wirkt sich auf die Anzahl der Pixel, die zurückgegeben werden. scale = 2 gibt doppelt so viele Pixel wie scale = 1 zurück, behält aber den gleichen Abdeckungsbereich und Detailgrad bei. Dies ist nützlich bei der Entwicklung für hochauflösende Displays oder beim Erstellen einer Karte zum Drucken. Der Standardwert ist 1. Akzeptierte Werte sind 2 und 4 (4 ist nur für Kunden von Google Maps APIs Premium Plan verfügbar.) Weitere Informationen finden Sie unter Scale Values.

  • size definiert die rechteckigen Abmessungen des Kartenbildes. Dieser Parameter verwendet eine Zeichenfolge der Form {horizontal_value} x {vertical_value}. Zum Beispiel definiert 500x400 eine Karte, die 500 Pixel breit und 400 Pixel hoch ist. Karten mit einer Breite von weniger als 180 Pixel zeigen ein verkleinertes Google-Logo. Dieser Parameter wird vom Skalierungsparameter beeinflusst.

Hinweis: Um durch Angabe getrennte Bilder für jede Auflösung hochauflösenden Bildschirme zu unterstützen. Der Skalierungsparameter macht es einfach, ein Kartenbild für einen Bildschirm mit Standardauflösung und die passende Karte für einen Bildschirm mit hoher Auflösung anzufordern, indem einfach Maßstab = 1 bzw. Maßstab = 2 eingestellt wird.

Verwandte Themen