Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/43.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/96.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 如何声明多边形_Iphone_Ios_Mkmapview - Fatal编程技术网

Iphone 如何声明多边形

Iphone 如何声明多边形,iphone,ios,mkmapview,Iphone,Ios,Mkmapview,伙计们,这看起来是个简单的问题,但对我来说太复杂了。我正在尝试创建一个MKPolygon实例,但进展不太顺利。代码如下: MKMapPoint point1 = {38.53607,-121.765793}; MKMapPoint point2 = {38.537606,-121.768379}; MKMapPoint point3 = {38.53487,-121.770578}; NSArray *mapPointArr = [[NSArray alloc] initWithObjec

伙计们,这看起来是个简单的问题,但对我来说太复杂了。我正在尝试创建一个MKPolygon实例,但进展不太顺利。代码如下:

MKMapPoint point1 = {38.53607,-121.765793};
 MKMapPoint point2 = {38.537606,-121.768379};
 MKMapPoint point3 = {38.53487,-121.770578};
 NSArray *mapPointArr = [[NSArray alloc] initWithObjects:point1,point2,point3,nil count:3]; //errors here

 MKPolygon *polygon = [MKPolygon polygonWithPoints:mapPointArr count:3];

在初始化数组的那一行上出现了一系列错误(
参数1的不兼容类型
…)。知道怎么了吗?提前谢谢

MKMapPoint是一个普通的c结构,不能直接将其添加到objective-c容器中

在您的情况下,您不需要这样做,因为
+polygonWithPoints:
不需要NSArray,而是需要一个c数组作为第一个参数。创建多边形的正确方法是:

MKMapPoint points[3] = {{38.53607,-121.765793}, {38.537606,-121.768379}, {38.53487,-121.770578}};
MKPolygon *polygon = [MKPolygon polygonWithPoints:points count:3];

要将其添加到地图上,您需要执行[mapView addOverlay:polygon];然后实现viewForOverlay委托方法