Baidu 地圖 SDK 的使用(三)---縮放地圖比例尺以及切換夜間模式

本人有若干成套學(xué)習(xí)視頻, 可試看! 可試看! 可試看, 重要的事情說三遍 包含Java, 數(shù)據(jù)結(jié)構(gòu)與算法, iOS, 安卓, python, flutter等等, 如有需要, 聯(lián)系微信tsaievan.

昨天玩一行代碼實(shí)現(xiàn)定位, 今天發(fā)現(xiàn)百度給我們提供的 API 實(shí)在是太棒了, 縮放地圖比例尺 和 夜間模式的切換 ,繼續(xù)封裝成一行代碼, 玩到簡(jiǎn)直不能停啊

先說縮放地圖比例尺

步驟:

  1. 先在 view 上添加一個(gè)slider, 最小值3,最大值21, 因?yàn)榘俣裙俜浇o出的解釋是:

地圖比例尺級(jí)別,在手機(jī)上當(dāng)前可使用的級(jí)別為3-21級(jí)

  1. slider 的 value 直接和 BaiduMapManager 單例的 zoomLevel 關(guān)聯(lián)
// -------- 縮小和放大地圖倍數(shù) --------
- (IBAction)changeZoomLevelAction:(UISlider *)sender {
    kBaiduMapManager.zoomLevel = sender.value;
}

3.在 zoomLevel 的 set 方法里,將 slider 的 value 值給 mapView 的 zoomLevel 屬性

- (void)setZoomLevel:(CGFloat)zoomLevel
{
    _zoomLevel = zoomLevel;
    kBaiduMapManager.mapView.zoomLevel = zoomLevel;
}

就這樣,縮放地圖比例尺就搞定了

再說夜間模式的切換

1.百度給我們提供了一個(gè)JSON 文件,就像這樣

夜間模式配置文件

2.然后我們用百度地圖給的 API 將這個(gè) JSON 文件解析出來,返回一個(gè) mapView 就可以了

- (BMKMapView *)customMapViewWithStyle:(NSString *)style
{
    NSString *styleName = [NSString stringWithFormat:@"custom_config_0323(%@)",style];
    NSString *path = [[NSBundle mainBundle]pathForResource:styleName ofType:nil];
    [BMKMapView customMapStyle:path];
/* 先默認(rèn)不開啟夜間模式 */
    [BMKMapView enableCustomMapStyle:NO];
    return self.mapView;
}

3.我們?cè)偬峁┮粋€(gè)按鈕, 用于切換夜間模式和白天模式

// -------- 點(diǎn)擊夜間模式切換按鈕 --------
- (IBAction)changToBlackBackgroudAction:(UIButton *)sender {
    [kBaiduMapManager turnTheMapStyleOn:kMapStyleOn];
    sender.selected = kMapStyleOn;
}

4.turnTheMapStyleOn方法的實(shí)現(xiàn)

#pragma mark *** 切換夜間模式 ***
- (void)turnTheMapStyleOn:(BOOL)on
{
    [BMKMapView enableCustomMapStyle:!self.isMapStyleOn];

/* isMapStyleOn屬性用于記錄夜間模式的開啟狀態(tài) */
    self.isMapStyleOn = !on;
}

這樣就都實(shí)現(xiàn)好了, 就是這么簡(jiǎn)單,輕松, easy

實(shí)現(xiàn)效果

PS. 本人有若干成套學(xué)習(xí)視頻, 包含Java, 數(shù)據(jù)結(jié)構(gòu)與算法, iOS, 安卓, python, flutter等等, 如有需要, 聯(lián)系微信tsaievan.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 內(nèi)容抽屜菜單ListViewWebViewSwitchButton按鈕點(diǎn)贊按鈕進(jìn)度條TabLayout圖標(biāo)下拉刷新...
    皇小弟閱讀 47,147評(píng)論 22 665
  • 基礎(chǔ)地圖 開發(fā)者可利用SDK提供的接口,使用百度提供的基礎(chǔ)地圖數(shù)據(jù)。目前百度地圖SDK所提供的地圖等級(jí)為19級(jí),所...
    DestinyFighter_閱讀 5,956評(píng)論 6 15
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,199評(píng)論 4 61
  • 如果你問我,讀書有用嗎?我會(huì)毫不猶豫地給予你肯定的答案,可是,既然知道知識(shí)可以改變命運(yùn),為什么不開始呢?我想最大的...
    卡米麻閱讀 227評(píng)論 2 4
  • NSScanner是一個(gè)類簇,它管理著很多可以從NSString中掃描出數(shù)字值或字符值的私有類。通常拿NSScan...
    雷侯塞利閱讀 9,875評(píng)論 1 9

友情鏈接更多精彩內(nèi)容