我成功显示了给定位置的地图。我想在地图中添加注释,而不会显示确切的地址(如经典" pin"注释指向)。
我想复制AirBnb的地图效果,但是要复制到iPhone上。如果您查看任何商家信息(https://www.airbnb.com/rooms/2289772)并查看地图视图,为了保护租房者的隐私或出于其他原因,它不会显示确切的地址,而是附近的地址 - 位置的近似近似。
- (void)viewDidLoad
{ self.itemDisplayMap.delegate = self;
CLLocationCoordinate2D cord = CLLocationCoordinate2DMake(lat, lng);
// I have a placemark and mapItem, but I'm not sure what to do with them
MKPlacemark *placemark = [[MKPlacemark alloc]initWithCoordinate:cord addressDictionary:nil];
MKMapItem *mapItem = [[MKMapItem alloc]initWithPlacemark:placemark];
MKCoordinateRegion startRegion = MKCoordinateRegionMakeWithDistance(cord, 1500, 1500);
[self.itemDisplayMap setRegion:startRegion animated:YES];
}
答案 0 :(得分:1)
听起来你想要一个MKOverlay,它可以让你画出与地图一起缩放的东西。 Apple有一些有用的MKOverlay实现,应该是一个很好的起点。
我从MKCircle开始,你给出一个中心坐标和半径。我还建议在(lat,long)对中添加一些随机抖动,这样确切的地址不在圆的中心,而是包含在其中。
然后要实际绘制圆圈,您需要使用该MKCircle初始化MKCircleRenderer。
最后,在您的MKMapViewDelegate中,使用MKCircleRenderer回复-mapView:rendererForOverlay:
。