मैं अक्षांश, देशांतर तैरता की एक जोड़ी कैसे लेने के लिए और MKMapView एक पिन ड्रॉप और स्थान प्रदर्शित करने के लिए मिलता है?

वोट
0

अक्षांश और देशांतर, और एक MapView के लिए तैरता की एक जोड़ी देखते हुए, मैं MapView स्थान में एक पिन और ज़ूम स्क्रीन स्थान प्रदर्शित करने के लिए ड्रॉप करने के लिए कैसे मिलता है?

मैं इतना पदों में से कुछ के माध्यम से पढ़ा है और वे सभी इस के विशिष्ट पहलुओं के बारे में होने लगते हैं, लेकिन मैं मेरे सिर में उन्हें एक साथ रखा करने में सक्षम नहीं किया गया है।

बहुत बहुत धन्यवाद! फ्रैंक

08/05/2010 को 22:04
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


1 जवाब

वोट
1

नमूना एप्लिकेशन WorldCities दिखाता है कि आप किसी दिए गए स्थान में ज़ूम कर सकते हैं, लेकिन यह वहाँ एक पिन ड्रॉप नहीं है। कहा जाता है एक और नमूना एप्लिकेशन MapCallouts ड्रॉप पिन करता है, लेकिन यह ज़ूम नहीं है।

ज़ूम हिस्सा आसान है (WorldCities में didChooseWorldCity विधि देखें)।

पिन छोड़ने के लिए, आपको MapView को addAnnotation संदेश भेजने और यह एक उद्देश्य यह है कि MKAnnotation प्रोटोकॉल लागू करता है भेजने के लिए। तो सबसे पहले आप एक वर्ग है कि MKAnnotation लागू करता है बनाने के लिए की जरूरत है। यहाँ एक उदाहरण MyMapPin कहा जाता है:

//MyMapPin.h...
#import <MapKit/MapKit.h>
@interface MyMapPin : NSObject <MKAnnotation> {
    CLLocationCoordinate2D coordinate;
    NSString *subtitle; 
    NSString *title; 
}
@property (nonatomic, readonly) CLLocationCoordinate2D coordinate;
@property (nonatomic,retain) NSString *subtitle;
@property (nonatomic,retain) NSString *title;
- (id) initWithCoords:(CLLocationCoordinate2D) coords;
@end

//MyMapPin.m...
#import "MapPin.h"
@implementation MyMapPin
@synthesize coordinate;
@synthesize subtitle;
@synthesize title;
- (id) initWithCoords:(CLLocationCoordinate2D) coords {
    self = [super init];
    if (self != nil) {
        coordinate = coords; 
    }
    return self;
}
- (void) dealloc
{
    [title release];
    [subtitle release];
    [super dealloc];
}
@end

अब आप animateToPlace विधि की शुरुआत में इस कोड को जोड़कर WorldCities नमूना संशोधित कर सकते हैं:

MyMapPin *pin = [[MyMapPin alloc] initWithCoords:worldCity.coordinate];
[mapView addAnnotation:pin];
[pin release];

WorldCities अनुप्रयोग में worldCity.coordinate बस प्रकार CLLocationCoordinate2D जो दो क्षेत्रों में अक्षांश और देशांतर की संपत्ति है। दो तैरता वहाँ में जाना होगा।

नोट addAnnotation सिर्फ शहर में एक पिन डाल देंगे। एक एनिमेटेड छोड़ने पिन पाने के लिए आपको भी हां में viewForAnnotation विधि और animatesDrop सेट को लागू करने की है। MapCallouts में MapViewController.m में एक उदाहरण देखें। इसके अलावा जहां भी viewForAnnotation विधि कार्यान्वित किया जाता है के लिए MapView के प्रतिनिधि सेट (आम तौर पर स्वयं / फ़ाइल के स्वामी)।

09/05/2010 को 03:54
का स्रोत उपयोगकर्ता

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more