项目有一个模块是展示所在楼盘的地理信息,最初没看到具体要求,便用了苹果自带的MapKit展示,陆陆续续出了一些莫名其妙的崩溃。正好产品给出明确要求是展示一张静态地图,索性抛弃了MapKit,想到了百度地图的静态图。来到百度地图官方文档,发现百度静态图API里有一个AK不知所云,文档中也没有交代来龙去脉。后向公司一位经验丰富的安卓开发请教,他用的是百度静态图一代,现在百度地图官方文档也就是我查看的是二代,有了个AK不太好使。所以我也转用一代,实现效果还不错。
//静态地图api
NSString *localStr = [NSString stringWithFormat:@"http://api.map.baidu.com/staticimage?width=1000&height=600¢er=%@,%@&zoom=17&markers=%@,%@&markerStyles=l",infoModel.lng,infoModel.lat,infoModel.lng,infoModel.lat];
[locaCell.locationImage sd_setImageWithURL:[NSURL URLWithString:localStr]];
以上代码中,我是在cell里添加一个ImageView,然后用SDWebImage加载百度地图的静态图。传入的参数center和markers就是从服务器获取到的经纬度,不过要注意的是,前面是数值较大的经度,后面一个是数值较小的维度。API里的width、height、zoom以及markerStyles都是可以修改的,可以改变静态图的展现效果。