在我今年早些时候提出的SO问题中,我得到了这段代码:
MKPolygonView *polygonView = (MKPolygonView *)[self.mapView viewForOverlay:polygon];
MKMapPoint mapPoint = MKMapPointForCoordinate(tapCoord);
CGPoint polygonViewPoint = [polygonView pointForMapPoint:mapPoint];
if (CGPathContainsPoint(polygonView.path, NULL, polygonViewPoint, FALSE)) {
// do stuff
}
Run Code Online (Sandbox Code Playgroud)
这在iOS7之前很有用.它现在总是返回false,并且不会检测带路径的点.
我正在尝试找到任何说明该方法更改的文档,但找不到任何文档.
任何想法为什么它破了?还是新的解决方案?
在我正在设计的应用程序中,我有一个MKMapView覆盖它(自定义MKPolylinesbtw),我希望能够检测这些覆盖上的触摸事件,并为每个覆盖分配特定的操作.有人可以帮我这个吗?谢谢 !
贝尼亚
我从这个链接得到了苹果地图套件的相同问题的答案,但是不知道如何检查某些位置或注释(GMSMarker)是否在Google Map SDK中的GMSPolygon内.所以,如果有人有任何想法,请帮助我.
我有一些KML数据定义了地图上的区域,如下所示:
131.0764742247829,-15.80786022929951,0 132.6357700620065,-16.54895727734661,0
134.1119108999971,-17.28040233069844,0 135.8545033459996,-18.1298170074137,0
137.7396886168202,-19.07860187595016,0 140.011948401144,-20.18462043802856,0
142.3114600417346,-21.19369381963822,0 144.1566045495202,-22.15731684591415,0
Run Code Online (Sandbox Code Playgroud)

我想在我的iOS应用程序中确定用户的当前位置是否在此定义区域内.我怎样才能做到这一点?
ios ×3
mkmapview ×2
objective-c ×2
google-maps ×1
ios7 ×1
iphone ×1
mapkit ×1
mkpolyline ×1
overlay ×1
touch-event ×1