向量地圖引擎使用

設定SAILSMapView的顯示模式


地圖控制分為三種模式:

  1. 一般模式(GENERAL)
  2. 定位中心鎖定模式(LOCATION_CENTER_LOCK)
  3. 隨用戶手持手機方向地圖旋轉模式(FOLLOW_PHONE_HEADING)
  • 一般模式(General):用戶正常使用地圖,定位點位置與用戶所觀看地圖的區域無直接關係。設定方式為:
[sailsMapView setMapControlMode:GeneralMode];
  • 定位中心鎖定模式(LOCATION_CENTER_LOCK):在定位中心鎖定的模式情況下,定位點永遠在螢幕的中心點上,不管用戶是否移動,定位點都會保持在地圖的中心。對用戶來說,他不需要花額外力氣去拉移地圖,鎖定於中心將有助於用戶體驗。設定方式為:
[sailsMapView setMapControlMode:LocationCenterLockMode];
  • 隨用戶手持手機方向地圖旋轉模式(FOLLOW_PHONE_HEADING):地圖會隨著用戶手持手機的方向跟著旋轉。這對於用戶體驗至關重要,用戶可透過此模式更快理解空間與地圖對應的關係。通常在這個模式時,我們會直接搭配CENTER_LOCK一起使用,在設定上使用OR將兩種模式整合。設定的模式如下:
[sailsMapView setMapControlMode:LocationCenterLockMode | FollowPhoneHeagingMode];

設定定位點顯示樣式


定位點的樣式可以透過setLocationMarker來進行設定,如下:

[sailsMapView setLocationMarker:[UIImage imageNamed:@"myloc_cir"] arrowImage:[UIImage imageNamed:@"myloc_arr"] accuracyCirclePaint:accuracyCirclePaint iconFrame:100];

第一與第二個參數分別為無箭頭與有箭頭(定位引擎已收斂方向情況下箭頭才會出現)對應之icon,第三個參數為精度圓的著色樣式,第四個為icon大小參數。

讀取POI(LocationRegion)名稱對應語言的設置


SAILS向量地圖引擎雖然在地圖上未支援切換多國語系,但地圖內之POI(類別LocationRegion)可支援三種語系:英文、繁中、簡中,透過呼叫getName時,可得到該POI對應語系之名稱(地圖需要建立該語系POI之名稱,可參考SAILS地圖標籤設置)

//getName 取英文欄位資訊
[LocationRegion setFontLanguage:ENGLISH];
//getName 取繁體中文欄位資訊
[LocationRegion setFontLanguage:CHINESE_BIG5];
//getName取簡體中文欄位資訊
[LocationRegion setFontLanguage:CHINESE_SM];

地圖Icon管理員(Marker Manger)


MarkerManger可以幫開發者管理所有Marker圖示,包含樓層切換隱藏與顯示皆可由MarkerManager來自動完成。MarkerManager會需要對應LocationRegion物件。

設定某個LocationRegion的Icon樣式

若開發者需要標示某個LocationRegion上的圖示可透過本Method完成。

[[sailsMapView getMarkerManager] setLocationRegionMarker:[locationRegions firstObject] andImage:[UIImage imageNamed:@"start_point"] andMarkerFrame:48 andIsBoundCenter:true];

第一個參數為對應之LocationRegion物件,第二個參數為餵入之Icon。 第三個為該Marker的大小,第四參數若設為true則以Icon圖片中心作為基準點,false的話則以Icon中心下方作為中心點。

清除所有Marker顯示

[[sailsMapView getMarkerManager] clearMarkers];

results matching ""

    No results matching ""