Baidu 地图 SDK 的使用(三)---缩放地图比例尺以及切
2016-10-04 本文已影响0人
小冰山口
本人有若干成套学习视频, 可试看! 可试看! 可试看, 重要的事情说三遍 包含Java
, 数据结构与算法
, iOS
, 安卓
, python
, flutter
等等, 如有需要, 联系微信tsaievan
.
昨天玩一行代码实现定位, 今天发现百度给我们提供的 API 实在是太棒了, 缩放地图比例尺 和 夜间模式的切换 ,继续封装成一行代码, 玩到简直不能停啊
先说缩放地图比例尺
步骤:
- 先在 view 上添加一个slider, 最小值3,最大值21, 因为百度官方给出的解释是:
地图比例尺级别,在手机上当前可使用的级别为3-21级
- 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;
}