iPhone MapKit - güncelleme ek açıklamaları koordinatları ve harita

oy
2

Benim uygulamaya MapKit entegre etmek için bu öğretici kullanın: 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];
}

ve

- (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;

}

Yani pimleri rastgele harita üzerinde ayarlar. Benim uygulamada, koordinatlar değişecektir. Nasıl ek açıklamaların koordinatlarını değiştirebilir, böylece harita üzerinde güncellenecektir?

Kimse biliyor mu?

Oluştur 09/12/2009 saat 14:05
kaynak kullanıcı
Diğer dillerde...                            


3 cevaplar

oy
2

iPhone SDK 3.x azından pim ek açıklamaları kaldırmak ve yeniden ayarlamak zorunda. Birçok ek açıklamalar bir haritanız varsa bu çok güzel değil.

I / o daha iyi bu yüzden ekranı ony yapmak ekranda olan benim pim ek açıklamaları yenilemeyi deneyin. Bir kullanıcı New York'a yakınlaştırmak Yani, eğer göremiyorum kullanıcı dışında ya da San Francisco pim ek açıklamaları olmayacaktır. Yani performansı çok daha iyi olacaktır.

Belki gelecekte bu mümkün olurdu. Umarım :-)

Cevap 08/02/2010 saat 13:25
kaynak kullanıcı

oy
1

Şu anda ek açıklamaları yapıyorum beri sadece hızlı testini yaptı. Bir derleyici uyarı olsun, bu nedenle desteklenmiyor olabilir. Ama işe yarıyor.

Eğer yazılabilir olmasını koordinat özelliğini ayarlayın kurabilmesi için özel MKAnnotation sınıfını olun:

@property (nonatomic, readwrite) CLLocationCoordinate2D coordinate;

Sonra ne olursa olsun olay veya istediğiniz aralığı, bu gibi bir şey kullanarak koordinat değiştirin:

    CLLocation *loc=[[CLLocation alloc] initWithLatitude:55.0 longitude:17.0];
annotation.coordinate=loc.coordinate;
[loc release];
Cevap 18/05/2010 saat 13:01
kaynak kullanıcı

oy
1

Bu öğretici yalnızca, başka bir şey göstermek için bir harita görünümünü elde içindir. Daha büyük bir öğretici ihtiyacımız olacak. Ben bu bir işe yarar buldu

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

Muhtemelen ne yapmak gerekir harita üzerinde tüm ek açıklamalar, veri dizisi aracılığıyla, daha sonra döngü bunları kaldırmayı tekrar ek açıklamalar ekleyerek döngü olduğunu. Orada zaten haritasındaki aynı enlem / boylam ile pim, ama bu şekilde daha karmaşık alırsa i işaretleyerek, veri dizisi aracılığıyla kendisine ve döngü hakkında daha zeki olabilir.

Cevap 10/12/2009 saat 04:02
kaynak kullanıcı

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