2016-03-10 39 views

回答

0

從文檔:

更改默認標記圖標

如果要更改默認標記圖片您可以設置自定義 圖標。自定義圖標始終設置爲UIImage對象。以下 代碼段會創建一個標記,其中包含一個以倫敦爲中心的自定義圖標, 英格蘭。片段假定您的應用程序包含名爲「house.png」的圖像 。

對於more:

Objective-C的

CLLocationCoordinate2D position = CLLocationCoordinate2DMake(51.5, -0.127); 
GMSMarker *london = [GMSMarker markerWithPosition:position]; 
london.title = @"London"; 
london.icon = [UIImage imageNamed:@"house"]; 
london.map = mapView_; 
0

我不得不做的選擇和未選中標記類似的東西。但是這個想法仍然與你想要做的一樣。

假設你有一個parkingObject模型,繪製了標記時:

-(void) plotMarkers{ 
    for (ParkingObject *parkingMarker in parkingArray){ 
     GMSMarker *marker = [[GMSMarker alloc] init]; 

     marker.position = parkingMarker.position; 

     marker.userData = parkingMarker; 
     marker.icon = [self createMarker:marker withImageName:@"markerIcon.png"]; 
     marker.infoWindowAnchor = CGPointMake (0.5, 1); 
     marker.map = mapView_; 
    } 
} 

創建具有不同的圖像和數據的自定義標記:

- (UIImage*) createMarker: (GMSMarker*)marker withImageName:(NSString*)imageName{ 

    ParkingObject *parkingObject = marker.userData; 

    if([imageName isEqualToString:@"markerSelected.png"]){ 
     MarkerSelected * infoWindow = [[[NSBundle mainBundle]loadNibNamed:@"MarkerSelected" owner:self options:nil]objectAtIndex:0]; 
     infoWindow.markerImage.image = [UIImage imageNamed:imageName]; 
     return [self imageFromView:infoWindow]; 
    } 
    else{ 
     Marker * infoWindow = [[[NSBundle mainBundle]loadNibNamed:@"Marker" owner:self options:nil]objectAtIndex:0]; 
     infoWindow.priceLabel.text = [NSString stringWithFormat:@"$%.0f",parkingObject.rate.floatValue]; 
     infoWindow.markerImage.image = [UIImage imageNamed:imageName]; 
     return [self imageFromView:infoWindow]; 
    } 
} 

你需要創建一個marker.xib它具有您可以設置的圖像/圖標/文本屬性

這只是示例代碼,您需要根據需要對其進行自定義。