下面的Monotouch代碼不會導致異常,但它也不會在地圖上顯示多邊形。MKPolygon未顯示&MKPolygon查看例外
變種COORDS =新CLLocationCoordinate2D() { 新CLLocationCoordinate2D(32.67,-81.9), 新CLLocationCoordinate2D(32.77,-81.9), 新CLLocationCoordinate2D(32.61,-81.9), 新CLLocationCoordinate2D(32.43 ,-81.9), new CLLocationCoordinate2D(32.67,-81.9) };
var mkp = MKPolygon.FromCoordinates(coords);
mapView.AddOverlay(mkp);
我已經將coords [0]上的地圖居中並且工作正常,SetRegion與coords [0]一樣。使用座標[0],我沒有任何問題添加註解到MapView。
我還試圖與相同的結果(沒有錯誤,但沒有覆蓋顯示):
變種MKC = MKCircle.Circle(COORDS [0],100);
mapView.AddOverlay(mkc);
考慮到MapView可能還沒有「準備好」,我甚至嘗試了一個等待一秒的線程,然後通過InvokeOnMainThread創建了多邊形。該地圖做了動畫轉移到座標,但仍然只顯示地圖,沒有覆蓋。
如果我補充一點:
VAR MKP =新MKPolygonView(MKP);
mapView.AddOverlay(mkpv);
我得到這個異常:
「的Objective-C異常拋出名稱:NSInvalidArgumentException原因: - [MKPolygonView boundingMapRect]無法識別的選擇發送到實例0x7579100」
有可能我的座標列表有問題嗎?我試着用列表末尾的第一個座標來關閉多邊形,沒有那個,結果相同。
由於
謝謝!那樣做了。快速的問題,然後......假設我想爲不同的MKPolygons填充不同的填充? - 我該如何區分他們?除了使用Title/Subtittle字段? – 2011-06-06 18:49:43
另請注意,定義顏色是強制性的,默認情況下它是透明的。 – 2013-12-10 15:11:43