问题一
问题描述:
当地图上有遮挡层view时,希望当设置当前地图的中心点时,能移动地图中心点到没有view部分的中心位置。
解决方法:
需要自己计算没有View部分的中心位置相对屏幕的具体坐标,然后可以参考MAMapView的下面方法进行设置
///地图的视图锚点。坐标系归一化,(0, 0)为MAMapView左上角,(1, 1)为右下角。默认为(0.5, 0.5),即当前地图的视图中心 (since 5.0.0)
@property (nonatomic, assign) CGPoint screenAnchor;
问题二
问题描述:
高德地图加载点标记时,一个经纬度只能添加一个点标记,如果出现坐标点重复的问题,后添加的点将不会显示在地图上。
解决方法:
可以通过自定义点标记的数据模型类MAPointAnnotation,重写isEqual方法。默认是只比较经纬度的hash字符串,你可以定义一些自己需要的比较逻辑,self表示当前地图上的点,object表示即将添加的点,如果返回YES,则不添加;如果返回NO,则添加并替换原来的点。
- (NSUInteger)hash
{
NSString *toHash = [NSString stringWithFormat:@"%.5F%.5F", self.coordinate.latitude, self.coordinate.longitude];
return [toHash hash];
}
- (BOOL)isEqual:(id)object
{
//判断俩个点坐标是否一致
BOOL isEqual = [self hash] == [object hash];
//添加自己的比较逻辑
return isEqual;
}