2014-02-28 30 views
2

我正在嘗試將RMPolylineAnnotation添加到我的地圖框地圖中,但由於某種原因它沒有出現。我不確定是否缺少在繪圖過程中使用的調用或函數。我使用的是添加它的代碼如下:RMPolylineAnnotation未出現在地圖上(地圖框)

for (id key in dFeatures) 
     { 
      RMPolylineAnnotation *polylineAnnotation = [[RMPolylineAnnotation alloc] initWithMapView:self.rmMapView points:[dFeatures objectForKey:key]]; 
      [polylineAnnotation setLineWidth:10.0f]; 
      [polylineAnnotation setLineColor:[UIColor orangeColor]]; 

      [self.rmMapView addAnnotation:polylineAnnotation]; 
     } 

dFeatures只是包含在我的RMPolylineAnnotations的初始化使用的點衆多陣列字典,見下圖:

(lldb) po dFeatures 
{ 
    "Blacka_trail_a" =  (
     "<-1.58483448,+53.32148646> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58471249,+53.32137547> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58458351,+53.32126949> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58444752,+53.32116250> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58430553,+53.32103852> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58421054,+53.32094053> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58407455,+53.32084955> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58395256,+53.32076356> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58385757,+53.32067257> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58368158,+53.32054159> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58351160,+53.32040561> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58338261,+53.32028262> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58326062,+53.32017964> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58312563,+53.32006065> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58298264,+53.31996566> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58288065,+53.31986368> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58275166,+53.31976469> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58265767,+53.31965771> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58244669,+53.31949373> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58233870,+53.31939874> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58225070,+53.31930475> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58210072,+53.31921777> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58199972,+53.31908678> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58185674,+53.31899580> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58177574,+53.31893480> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58172075,+53.31897880> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58167276,+53.31901980> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58156977,+53.31901980> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58146679,+53.31904380> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58137080,+53.31906379> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58127481,+53.31910879> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58114483,+53.31915279> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58098685,+53.31920178> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58085687,+53.31924278> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58075388,+53.31927878> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58059590,+53.31935577> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58044492,+53.31938777> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58032894,+53.31942477> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58028094,+53.31944077> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58020495,+53.31947376> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58018396,+53.31948576> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58025895,+53.31952676> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58035494,+53.31954775> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58044993,+53.31954375> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58051892,+53.31953975> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58064190,+53.31951975> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58075789,+53.31952075> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58088088,+53.31954075> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58092187,+53.31959474> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58092788,+53.31965973> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58100187,+53.31975472> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58108386,+53.31982871> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58108987,+53.31989370> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58110287,+53.31994670> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58119786,+53.32000069> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58125185,+53.32003368> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58132685,+53.32010367> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58134685,+53.32015667> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58141484,+53.32023866> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58146084,+53.32034164> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58152184,+53.32041963> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58148684,+53.32053362> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58151284,+53.32060761> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58151285,+53.32067260> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58149085,+53.32078359> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58148386,+53.32085258> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58146186,+53.32092657> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58146187,+53.32100857> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58141288,+53.32111455> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58144588,+53.32118454> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58145188,+53.32125854> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58143788,+53.32131553> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58154087,+53.32132353> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58168385,+53.32131253> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58182084,+53.32132452> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58193682,+53.32132552> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58208081,+53.32132552> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58229278,+53.32133451> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58241577,+53.32135151> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58257975,+53.32135251> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58272973,+53.32135651> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58278472,+53.32134851> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58291471,+53.32134950> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58304369,+53.32137050> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58318768,+53.32137450> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58339265,+53.32137149> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58350164,+53.32140049> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58365262,+53.32140049> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58380260,+53.32141348> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58391859,+53.32142248> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58410357,+53.32142248> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58422656,+53.32143947> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58436954,+53.32144847> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58455452,+53.32146547> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58465651,+53.32147446> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58471850,+53.32147846> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time", 
     "<-1.58484048,+53.32148646> +/- 0.00m (speed -1.00 mps/course -1.00) @ 2/28/14, 11:07:56 AM Greenwich Mean Time" 
    ); 
} 

這一切似乎加載正常,並顯示我有一個有效的RMPolylineAnnotation,如果我在它後面設置了一個斷點,但沒有顯示在地圖上。我已經注意到了這一點上來的,雖然LLDB:

2014-02-28 11:36:56.579 WildSheffield[7700:70b] -[<RMShape: 0xc13aee0> display]: Ignoring bogus layer size (397983.125000, 470151.031250) 

我猜這是問題的原因,但我不明白爲什麼層走出過大,以致我的座標陣列都位置相當密切。

任何人都可以提供任何建議如何解決這個問題?我已經仔細閱讀了參考文檔,但似乎無法弄清楚我做錯了什麼。 感謝

編輯1:

我注意到,當我放大到地圖我現在得到以下錯誤:

:CGContextPathContainsPoint:無效的上下文爲0x0。這是一個嚴重錯誤 。此應用程序或其使用的庫正在使用無效的上下文,從而導致系統穩定性和可靠性的總體降級 。此通知是禮貌性的:請 修復此問題。這將成爲即將到來的更新中的致命錯誤。

這可能是問題的原因,但我不知道爲什麼它會發生,因爲我的路線肯定屬於地圖邊界等。有沒有我沒有添加的圖書館潛在?

編輯2:

我也注意到,雖然我設置我的rmMapView委託該功能不會被調用:

- (RMMapLayer *)mapView:(RMMapView *)mapView layerForAnnotation:(RMAnnotation *)annotation 

是否RMPolylineAnnotation不能算作實際註釋(即如果它不調用這個方法?),for循環肯定會將它添加到RMMapView中的'_visibleAnnotations'數組中。

+1

你能解決你的問題了嗎? – P5ycH0

+0

你是否設法解決這個問題? – Joze

回答

1

它在我看來就像是爲您的集合中的每個點添加一條折線實例,而不是包含所有這些點的一條折線。

+0

沒有抱歉我應該更清楚一點,字典可以包含多個數組。我使用密鑰名稱來標識不同的數組,因此您可以看到該字典包含一個名爲'Blacka_trail_a'的密鑰條目,而[dFeatures objectForKey:key]訪問使用此密鑰名稱存儲的數組。這就是爲什麼我對發生的事情感到困惑,因爲我覺得其餘的代碼應該是正確的? –

+0

嗨,我已經更新了我原來的帖子,顯示縮放後顯示的錯誤,你知道我爲什麼現在會得到這個錯誤嗎?謝謝。 –

+0

我想我可能會調用這個錯誤的地方,我目前有這個代碼在viewDidLoad運行,我猜它需要比這更晚調用。有關代碼放置位置的任何建議? –

2

我有完全相同的錯誤,它是由我的代碼返回長度爲零的線(RMShape *)導致的(即P1和P2是相同的點)。看起來,這在層渲染代碼中造成了一些零問題。我的代碼大致如下,並通過添加if()部分,沒有更多的錯誤:-)

RMShape *path = [[RMShape alloc] initWithView:mapView]; 
CLLocation * p1 = _currentWayPoint.coord; 
... 
CLLocation * p2 = bisectLocation; 

float bisectLength = [p1 distanceFromLocation:p2]; 
if (bisectLength == 0.0f) 
{ 
    NSLog(@"Ignoring invalid bisect length %f", bisectLength); 
    return nil; 
} 

[path moveToCoordinate:p1.coordinate]; 
[path addLineToCoordinate:p2.coordinate]; 
return path;