2009-09-29 13 views
6

क्या आईफोन पर मैपकिट मानचित्र में डिफ़ॉल्ट पिन की बजाय हमारी अपनी छवि रखना संभव है?आईफोन के मैपकिट ढांचे में डिफ़ॉल्ट पिन की बजाय छवि?

मैं ऐसे एप्लिकेशन पर काम कर रहा हूं जो Google अक्षांश की तरह मित्रों के स्थान दिखाएगा और उन्हें अपने स्थानों पर मित्रों की छवि दिखाने की आवश्यकता होगी।

जावास्क्रिप्ट Google मानचित्र का उपयोग करना संभव है लेकिन मैं जानना चाहता हूं कि कोई मैपकिट आधारित मानचित्र के लिए कुछ नमूना कोड दे सकता है या नहीं।

उत्तर

14

हां यह संभव है। इसके लिए आपको MKPinAnotationView के बजाय MKAnnotationView का उपयोग करना होगा। और annotation.animatesDrop प्रॉपर्टी का उपयोग न करें।

यहाँ, आप viewForAnnotation में उपयोग कर सकते हैं नमूना कोड हैं

annotation = [[MKAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"try"]; 
    annotation.canShowCallout = YES; 

    annotation.image = [UIImage imageNamed:@"image.png"]; 


    return annotation; 
+0

धन्यवाद। यह चाल है। कैंट का मानना ​​है कि मैं इस तरह की एक साधारण चाल को समझ नहीं पा रहा हूं। –

2

तुम भी छवि के फ्रेम सेट कर सकते हैं। इसके लिए उपरोक्त कोड में हमें यह सरल परिवर्तन करना होगा।

UIImage *pinImage = [UIImage imageNamed:@"image.png"]; 

UIImageView *imageView = [[[UIImageView alloc] initWithImage:pinImage] autorelease]; 

     imageView.frame = CGRectMake(-20, 0, 40, 30); 

[annotation addSubview:imageView]; 

और हम लाइन

// annotation.image = [UIImage imageNamed:@"image.png"]; 
0

टिप्पणी करने के लिए अवधि संपत्ति का उपयोग कर आप आसानी से अपने की आवश्यकता के लिए

MKCoordinateSpan अवधि ज़ूम कर सकते हैं है,

MKCoordinateRegion region; 


mapView.scrollEnabled=YES; 
span.latitudeDelta = 100.0;//more value you set your zoom level will increase 
span.longitudeDelta =100.0;//more value you set your zoom level will increase 
mapView.showsUserLocation=YES; 
region.span = span; 


region.center = from.coordinate; 
    [mapView setRegion:region animated:YES]; 
[mapView regionThatFits:region]; 
[mapView addAnnotation:from]; 
संबंधित मुद्दे