iPhone MapKit - अद्यतन एनोटेशन निर्देशांक और नक्शे

वोट
2

मैं अपने आवेदन करने के लिए MapKit एकीकृत करने के लिए इस ट्यूटोरियल का उपयोग करें: http://iphonebcit.wordpress.com/iphone-map-kit-tutorial/

CLLocationCoordinate2D coordinate;
coordinate.latitude = 49.2802;
coordinate.longitude = -123.1182;

NSUInteger count = 1;
for(int i = 0; i < 10; i++) {
    CGFloat latDelta = rand()*.035/RAND_MAX - .02;
    CGFloat longDelta = rand()*.03/RAND_MAX - .015;

    CLLocationCoordinate2D newCoord = {coordinate.latitude+latDelta, coordinate.longitude+longDelta};
    MapDemoAnnotation* annotation = [[MapDemoAnnotation alloc] initWithCoordinate:newCoord andID:count++];
    [mapView addAnnotation:annotation];
    [annotation release];
}

तथा

- (MKAnnotationView *)mapView:(MKMapView *)mapViewLocal viewForAnnotation:(id <MKAnnotation>)annotation {
MKPinAnnotationView *pinView = (MKPinAnnotationView*)[mapViewLocal dequeueReusableAnnotationViewWithIdentifier:@Pin];
if(pinView == nil) {
    pinView = [[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@Pin];
    pinView.pinColor = MKPinAnnotationColorPurple;
    pinView.rightCalloutAccessoryView = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
    pinView.animatesDrop = YES;
    pinView.canShowCallout = YES;
} else {
    pinView.annotation = annotation;
}
return pinView;

}

तो पिन बेतरतीब ढंग से मानचित्र पर सेट हो जाएगा। अपने आवेदन में, निर्देशांक बदल जाएगा। मैं एनोटेशन के निर्देशांक कैसे बदल सकता है, इसलिए वे नक्शे पर अद्यतन किया जाएगा?

क्या कोई जानता है?

09/12/2009 को 14:05
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


3 जवाब

वोट
2

iPhone SDK 3.x आप पिन एनोटेशन बाहर निकालना और इसे फिर से स्थापित करने के लिए किया है। यही कारण है कि बहुत अच्छा है अगर आप कई एनोटेशन एक अपने नक्शे की जरूरत नहीं है।

मैं इसे बेहतर तो मैं प्रदर्शन ony बनाने / मेरी पिन एनोटेशन जो स्क्रीन पर हैं नवीनीकृत करने के लिए प्रयास करें। तो एक उपयोगकर्ता न्यूयॉर्क के लिए ज़ूम इन करता है, तो, वहाँ या उपयोगकर्ता नहीं देख सकते हैं के अलावा अन्य सैन फ्रांसिस्को में पिन एनोटेशन नहीं होगा। तो प्रदर्शन काफी बेहतर हो जाएगा।

शायद भविष्य में इस संभव हो जाएगा। मुझे ऐसी ही उम्मीद है :-)

08/02/2010 को 13:25
का स्रोत उपयोगकर्ता

वोट
1

जब से मैं इस समय एनोटेशन कर रहा हूँ मैं सिर्फ एक त्वरित परीक्षण किए गए। आप एक संकलक चेतावनी मिलती है, तो यह समर्थित नहीं किया जा सकता है। लेकिन यह काम करता है।

ताकि आप संपत्ति समन्वय लिखने योग्य होने के लिए सेट कर सकते हैं एक कस्टम MKAnnotation वर्ग बनाओ:

@property (nonatomic, readwrite) CLLocationCoordinate2D coordinate;

फिर जो कुछ भी घटना या अंतराल पर आप चाहें, कुछ इस तरह का उपयोग कर समन्वय बदलने के लिए:

    CLLocation *loc=[[CLLocation alloc] initWithLatitude:55.0 longitude:17.0];
annotation.coordinate=loc.coordinate;
[loc release];
18/05/2010 को 13:01
का स्रोत उपयोगकर्ता

वोट
1

यही कारण है कि ट्यूटोरियल केवल दिखाने के लिए, और कुछ नहीं एक मानचित्र दृश्य प्राप्त करने के लिए है। आप एक बड़ा ट्यूटोरियल की जरूरत जा रहे हैं। मैं इस एक उपयोगी पाया:

http://blog.objectgraph.com/index.php/2009/04/02/iphone-sdk-30-playing-with-map-kit/

शायद तुम क्या करने की आवश्यकता होगी मानचित्र पर सभी एनोटेशन, उन्हें हटाने, तो अपने डेटा सरणी के माध्यम से पाश, फिर से वापस एनोटेशन जोड़ने लूप करने के लिए है। वहाँ पहले से ही नक्शे पर एक ही अक्षांश / देशांतर के साथ एक पिन है, लेकिन इस तरह से और अधिक जटिल हो जाता है, तो आप डेटा सरणी के माध्यम से और पाश के बारे में अधिक चतुर हो सकता है, जाँच।

10/12/2009 को 04:02
का स्रोत उपयोगकर्ता

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