向量地圖引擎使用

設定SAILSMapView的顯示模式


地圖控制分為三種模式:

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

設定定位點顯示樣式


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

mSailsMapView.setLocationMarker(R.drawable.myloc_cir, R.drawable.myloc_arr, accuracyCircleFill, 100);

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

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


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

//getLabel()取英文欄位資訊
LocationRegion.FONT_LANGUAGE = LocationRegion.ENGLISH;
//getLabel()取繁體中文欄位資訊
LocationRegion.FONT_LANGUAGE = LocationRegion.CHINESE_BIG5;
//getLabel()取簡體中文欄位資訊
LocationRegion.FONT_LANGUAGE = LocationRegion.CHINESE_SM;

地圖Icon管理員(Marker Manger)


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

設定某個LocationRegion的Icon樣式

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

mSailsMapView.getMarkerManager().setLocationRegionMarker(locationRegions.get(0), Marker.boundCenterBottom(getResources().getDrawable(R.drawable.destination)));

第一個參數為對應之LocationRegion物件,第二個參數為餵入之Icon。 Marker.boundCenterBottom代表是Marker以Icon圖片中心下方作為基準點。Marker.boundCenter則以Icon圖片中心作為基準點。不管是boundCenter或boundCenterBottom都需要設定,否則Icon將無法顯示於地圖上。

清除所有Marker顯示

mSailsMapView.getMarkerManager().clear();

results matching ""

    No results matching ""