項(xiàng)目有一個模塊是展示所在樓盤的地理信息,最初沒看到具體要求,便用了蘋果自帶的MapKit展示,陸陸續(xù)續(xù)出了一些莫名其妙的崩潰。正好產(chǎn)品給出明確要求是展示一張靜態(tài)地圖,索性拋棄了MapKit,想到了百度地圖的靜態(tài)圖。來到百度地圖官方文檔,發(fā)現(xiàn)百度靜態(tài)圖API里有一個AK不知所云,文檔中也沒有交代來龍去脈。后向公司一位經(jīng)驗(yàn)豐富的安卓開發(fā)請教,他用的是百度靜態(tài)圖一代,現(xiàn)在百度地圖官方文檔也就是我查看的是二代,有了個AK不太好使。所以我也轉(zhuǎn)用一代,實(shí)現(xiàn)效果還不錯。
展示效果圖
//靜態(tài)地圖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加載百度地圖的靜態(tài)圖。傳入的參數(shù)center和markers就是從服務(wù)器獲取到的經(jīng)緯度,不過要注意的是,前面是數(shù)值較大的經(jīng)度,后面一個是數(shù)值較小的維度。API里的width、height、zoom以及markerStyles都是可以修改的,可以改變靜態(tài)圖的展現(xiàn)效果。