2010-11-11 94 views
4

我正在寫一個iPhone應用程序,我將一個自定義圖像作爲地圖覆蓋在MKMapView之上。該圖片是MKOverlayView,我想知道是否有辦法隱藏或覆蓋底層的Google地圖,以便用戶在滾動出我的自定義地圖範圍時從不會看到它。任何建議,將不勝感激。隱藏一個MKMapView,而覆蓋可見

+0

的MKMapView是在OS 6+沒有GoogleMap的 - 只是FYI – 2013-05-16 08:42:48

+0

更新的蘋果地圖 – 2016-01-22 20:37:41

回答

1

我會告訴你可以在谷歌地圖上方MKOverlay的幫助下繪製一個非常大的多邊形,並嘗試覆蓋上面的自定義地圖,這樣谷歌地圖將被非常大的多邊形和您的自定義隱藏地圖和註釋將出現。

這可能不是一個好主意。但它是一個可以鍛鍊的技巧。

+1

問題所以這裏的問題是,使用MKOverlay仍然需要顯著時間繪製到屏幕上。在此期間,用戶通常可以看到潛在的Google地圖 - 我想要的是防止用戶從一開始就看到它。 – mag725 2010-11-19 16:01:16

+1

當您使用MKMapView時,您處於Google Earth Api條款和條件下,因此不會隱藏,刪除或停止從Google地球加載的地圖。您將無法在MapKit中找到任何屬性來禁用正在加載的地圖。 – iPrabu 2010-11-19 16:51:04

2

在iOS 6上,根據顯示標誌,以下設置地圖切片的Alpha通道爲0(或1)。

注意該方法假定這些瓷磚排序的某種方式。如果Apple決定在iOS更新中更改MKMapView的內部工作方式,則此方法可能會中斷。

if ([mapView.subviews count] && 
    [((UIView *)[mapView.subviews objectAtIndex:0]).subviews count]) { 
    ((UIView *)[((UIView *)[mapView.subviews objectAtIndex:0]).subviews objectAtIndex:0]).alpha = show ? 1.0 : 0.0; 
} 

現金去這裏:http://iphonedevsdk.com/forum/iphone-sdk-development/84694-how-to-use-mapkit-without-maps.html

3

MKTileOverlaycanReplaceMapContent屬性。將其設置爲YES以告知MKMapView不要在覆蓋圖下面繪製自己的圖塊。

https://developer.apple.com/library/ios/documentation/MapKit/Reference/MKTileOverlay_class/Reference/Reference.html

+1

恩,我確實包括了必要的部分。設置你的overlay.canReplaceMapContent = YES; 我差不多正是你剛剛說的那樣做的...... – Kevin 2014-09-12 16:32:31

+0

@Pawan:對我來說看起來沒問題。如果答案錯誤,請解釋爲什麼發表評論。 – 2014-09-12 17:56:53