限制MKMapView显示的区域

本文介绍了如何在iOS中限制MKMapView的显示区域,确保地图的中心坐标和缩放级别始终在预设范围内,防止用户通过拖动或缩放超出指定边界。
摘要由CSDN通过智能技术生成

限制MKMapView显示的区域: 自定义一个显示范围 (根据 centerCoord 和 span 来确定地图的初始 Region),拖动或者缩放都不能超过限定的范围。

-(void)mapView:(MKMapView *)mapView regionDidChangeAnimated:(BOOL)animated
{
    
    //限制map显示区域
    /*
     newLocCoordinate : 初始的中心点经纬度
     oriSpan :初始的Span
     
    */
    MKCoordinateRegion regin = mapView.region;
  
    if ((regin.span.latitudeDelta > oriSpan.latitudeDelta ) || (regin.span.longitudeDelta > oriSpan.longitudeDelta) ) {
        
        
        CLLocationCoordinate2D centerCoord = newLocCoordinate;
        
        MKCoordinateSpan span = oriSpan;
        
        MKCoordinateRegion region = MKCoordinateRegionMake(centerCoord, span);
        
        [mapView setRegion: region animated: YES];
    }
    
    if (regin.center.latitude+regin.span.latitudeDelta/2 > newLocCoordinate.latitude+oriSpan.latitudeDelta/2
        ||regin.center.latitude-regin.span.latitudeD
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值