首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 其他相关 >

判断舆图坐标 是否在区域内

2012-06-20 
判断地图坐标 是否在区域内 -(IBAction)foundTap:(UITapGestureRecognizer *)recognizer{CGPoint point

判断地图坐标 是否在区域内

 

-(IBAction)foundTap:(UITapGestureRecognizer *)recognizer{    CGPoint point = [recognizer locationInView:self.mapView];    CLLocationCoordinate2D tapPoint = [self.mapView convertPoint:point toCoordinateFromView:self.view];    [self pointInsideOverlay:tapPoint];    if (isInside)      {       ....     }}

Here is a method to call from the previous to check if the point is inside the overlay:

-(void)pointInsideOverlay:(CLLocationCoordinate2D )tapPoint {    isInside = FALSE;     MKPolygonView *polygonView = (MKPolygonView *)[mapView viewForOverlay:polygonOverlay];    MKMapPoint mapPoint = MKMapPointForCoordinate(tapPoint);    CGPoint polygonViewPoint = [polygonView pointForMapPoint:mapPoint];    BOOL mapCoordinateIsInPolygon = CGPathContainsPoint(polygonView.path, NULL, polygonViewPoint, NO);        if ( !mapCoordinateIsInPolygon )            //we are finding points that are inside the overlay        {            isInside = TRUE;        }}

热点排行