想在google地图上的pin上显示这种类型,如何实现这一点。
答案 0 :(得分:0)
来自文档:
更改默认标记图标
如果要更改默认标记图像,可以设置自定义 图标。自定义图标始终设置为UIImage对象。下列 代码段创建一个带有以伦敦为中心的自定义图标的标记, 英国。该代码段假定您的应用程序包含图像 名为“house.png”。
<强>目的-C 强>
CLLocationCoordinate2D position = CLLocationCoordinate2DMake(51.5, -0.127);
GMSMarker *london = [GMSMarker markerWithPosition:position];
london.title = @"London";
london.icon = [UIImage imageNamed:@"house"];
london.map = mapView_;
答案 1 :(得分: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
这只是示例代码,您需要根据自己的需要对其进行自定义。