欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

百度地图SDK使用(3)--缩放地图比例和切换夜间模式--本人有多套学习视频,可以试看!我有几套学习视频,可以试着看看!可以试看,重要的事情说三遍 包括Java、数据结构与算法、iOS、android、python、flutter等,如有需要,联系微信tsaievan。

最编程 2024-03-11 09:09:42
...

昨天玩一行代码实现定位, 今天发现百度给我们提供的 API 实在是太棒了, 缩放地图比例尺 和 夜间模式的切换 ,继续封装成一行代码, 玩到简直不能停啊

先说缩放地图比例尺

步骤:

  1. 先在 view 上添加一个slider, 最小值3,最大值21, 因为百度官方给出的解释是:

地图比例尺级别,在手机上当前可使用的级别为3-21级

  1. slider 的 value 直接和 BaiduMapManager 单例的 zoomLevel 关联
// -------- 缩小和放大地图倍数 --------
- (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.百度给我们提供了一个JSON 文件,就像这样

夜间模式配置文件

2.然后我们用百度地图给的 API 将这个 JSON 文件解析出来,返回一个 mapView 就可以了

- (BMKMapView *)customMapViewWithStyle:(NSString *)style
{
    NSString *styleName = [NSString stringWithFormat:@"custom_config_0323(%@)",style];
    NSString *path = [[NSBundle mainBundle]pathForResource:styleName ofType:nil];
    [BMKMapView customMapStyle:path];
/* 先默认不开启夜间模式 */
    [BMKMapView enableCustomMapStyle:NO];
    return self.mapView;
}

3.我们再提供一个按钮, 用于切换夜间模式和白天模式

// -------- 点击夜间模式切换按钮 --------
- (IBAction)changToBlackBackgroudAction:(UIButton *)sender {
    [kBaiduMapManager turnTheMapStyleOn:kMapStyleOn];
    sender.selected = kMapStyleOn;
}

4.turnTheMapStyleOn方法的实现

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

/* isMapStyleOn属性用于记录夜间模式的开启状态 */
    self.isMapStyleOn = !on;
}

这样就都实现好了, 就是这么简单,轻松, easy

实现效果