2010-12-03 2 views
3

Эй, ребята, такая, казалось бы, простая проблема, но, по-видимому, слишком сложная для меня. Я пытаюсь создать один экземпляр MKPolygon, и это не слишком хорошо. Вот код:Как объявить 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]; 

Я получаю кучу ошибок на линии, на которой я инициализировать массив (incompatible type for argument 1 ...). Любая идея, что не так? Заранее спасибо!

ответ

5

MKMapPoint - простая c-структура, и вы не можете добавить ее в контейнер объектива-c напрямую.

В вашем случае вам не нужно это делать, так как +polygonWithPoints: не требует NSArray, а c-array в качестве 1-го параметра. Правильный способ создания многоугольника будет:

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

Да! Это сработало, спасибо! – Stunner 2010-12-03 08:27:01

Смежные вопросы