iOS 百度地图 在可视范围显示所有标注

RT :


- (void)mapViewFitAnnotations:(NSArray *)locations

{

if (locations.count < 2) return;

CLLocationCoordinate2D coor = [locations[0] coordinate];

BMKMapPoint pt = BMKMapPointForCoordinate(coor);

CGFloat ltX, ltY, rbX, rbY;

ltX = pt.x, ltY = pt.y;

rbX = pt.x, rbY = pt.y;

for (int i = 1; i < locations.count; i++) {

CLLocationCoordinate2D coor = [locations[i] coordinate];

BMKMapPoint pt = BMKMapPointForCoordinate(coor);

if (pt.x < ltX) ltX = pt.x;

if (pt.x > rbX) rbX = pt.x;

if (pt.y > ltY) ltY = pt.y;

if (pt.y < rbY) rbY = pt.y;

}

BMKMapRect rect;

rect.origin = BMKMapPointMake(ltX , ltY);

rect.size = BMKMapSizeMake(rbX - ltX, rbY - ltY);

[_mapView setVisibleMapRect:rect];

_mapView.zoomLevel = _mapView.zoomLevel - 0.3;

}

PS :可在改变zoomLevel时加一个是否超出最小范围的判断,转载请注明哦!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,996评论 25 708
  • 可能你也听好多人说过,我都没有见他最后一面。你真的想见他最后一面么?事实上见他最后一面的人有谁呢? 我见了他的最后...
    f57404c1c380阅读 444评论 2 0
  • —1— 我叫余尽欢,在一个两省交界的小镇里长大。我在外面的大城市待到3岁,才回到小镇。小镇说小也不小,其实小学之前...
    余尽欢阅读 393评论 0 0