2011-06-16 27 views
0

請給我一些想法我是mapview應用程序的新手。Mapview應用程序在iPhone中有不同的圖標

我需要顯示一張地圖,當我的應用程序被加載時它會在這個地圖上顯示一個地圖,它會顯示一些圖標,圖標必須是動態的,並且必須執行一些操作,因爲我們認爲我們必須動態地顯示按鈕映射視圖並使用此按鈕執行不同的操作。

就像5個圖標來自服務器一樣,它會在地圖上顯示5個圖標(圖標必須動態地從服務器來,並顯示在谷歌地圖。)。

回答

0

可以使用MKPlacemark從服務器

- (void)addAnnotations:(CLLocationCoordinate2D)coordinate { 

// Pin 1 
    CLLocationCoordinate2D coordinate1 = { 
     x.x, y.y 
    }; 
    NSDictionary *address = [NSDictionary dictionaryWithObjectsAndKeys:@"Pin 1", @"Country", @"1", @"Thoroughfare", nil]; 
    MKPlacemark *pin = [[MKPlacemark alloc] initWithCoordinate:coordinate1 addressDictionary:address]; 
    [mapView addAnnotation:pin]; 

「按鈕」

第一獲取位置設置其標註的按鈕來執行一些動作

- (MKAnnotationView *) mapView: (MKMapView *) mapView viewForAnnotation: (id<MKAnnotation>) annotation 
{ 
    MKPlacemark *placemark = annotation; 


    MKPinAnnotationView *pin = (MKPinAnnotationView *) [self.mapView dequeueReusableAnnotationViewWithIdentifier: @"asdf"]; 
    if (pin == nil) 
    { 
     pin = [[[MKPinAnnotationView alloc] initWithAnnotation: annotation reuseIdentifier: @"asdf"] autorelease]; 
    } 
    else 
    { 
     pin.annotation = annotation; 
    } 
    pin.canShowCallout = YES; 
    pin.rightCalloutAccessoryView = [UIButton buttonWithType:UIButtonTypeDetailDisclosure]; 

還設置了將圖像映射到任何你喜歡的東西,因此該引腳看起來像一個按鈕

pin.image = [UIImage imageNamed:@"some-pic.png"]; 

,並告訴它做什麼

- (void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control;{ 
//code whatever should be done 
+0

感謝,詳細說明你有相關的這種請修理我還是請大家給了視圖中的所有細節,如何使用這些code.How可以動態顯示圖標和任何圓頂代碼每個圖標都有特定的經度和緯度值,我必須在同一張地圖上顯示所有圖標。 – jay 2011-06-16 12:55:26

+0

我已經適當地更改了代碼 – Quirin 2011-06-16 13:55:08

相關問題