【发布时间】:2016-03-18 18:52:32
【问题描述】:
我在 GMSMapView iOS(谷歌地图)中使用这个 GMSGeometryContainsLocation() 方法。
当我检查当前坐标是否在我的 GMSPolygon 下时,它会崩溃。
if (GMSGeometryContainsLocation(userLocation.coordinate, self.path, YES)) {
NSLog(@"YES: you are in this polygon.");
} else {
NSLog(@"You do not appear to be in this polygon.");
}
因 EXC_BAD_ACCESS 而崩溃。请帮忙。
这就是向路径添加坐标的方式,我可以看到地图中的所有多边形。
for(int i = 0; i < [[polygon valueForKey:@"polygon_coordinates"] count]; i++){
[self.path addCoordinate:CLLocationCoordinate2DMake([[[[polygon valueForKey:@"polygon_coordinates"] objectAtIndex:i] objectAtIndex:1] floatValue],[[[[polygon valueForKey:@"polygon_coordinates"] objectAtIndex:i] objectAtIndex:0] floatValue])];
}
GMSPolygon *rectangle = [GMSPolygon polygonWithPath:self.path];
rectangle.fillColor = [UIColor colorWithRed:255.0/255.0 green:0.0/255.0 blue:0.0/255.0 alpha:0.4];
rectangle.title = RESTRICTED_AREA_PICKUP;
rectangle.map = self.mapView;
【问题讨论】:
-
你能分享一下这堂课的其余部分吗?也许 userLocation.coordinate 或 self.path 为 nil?
-
两者都有值,我已经检查过了
-
如果没有更多的封闭代码,很难进一步调试。
标签: ios objective-c google-maps coordinates