`
iaiai
  • 浏览: 2210729 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ios中使用百度地图监听哪个点击BMKPointAnnotation的方法

 
阅读更多
ios中使用百度地图监听哪个点击BMKPointAnnotation的方法

在ios中使用BMKPointAnnotation来创建定位点的泡泡,点击泡泡也可以监听到点击
-(void)viewDidLoad{
    [super viewDidLoad];
    ...
    // 添加一个PointAnnotation
    BMKPointAnnotation* annotation = [[BMKPointAnnotation alloc]init];
    CLLocationCoordinate2D coor;
    coor.latitude = 39.915;   
    coor.longitude = 116.404;
    annotation.coordinate = coor;
    annotation.title = @"这里是北京";
    [mapView addAnnotation:annotation];
}

- (void)mapView:(BMKMapView *)mapView annotationViewForBubble:(BMKAnnotationView *)view{
    NSLog(@"paopaoclick");
}

上面这段代码是添加了一个泡泡,点击泡泡监听到点击,但是有个问题就是如果有多个泡泡,我不知道是哪个点击的,通过BMKAnnotationView无法获取到BMKPointAnnotation,并且BMKPointAnnotation无法设置tag,查询官方示例也没查到,百度了很久也没查到,这两个完全是脱节的,在单击的监听方法里无法知道是哪个点击的,也不可能用经纬度再从数据里再去查一遍,如果有相同的经纬度查询就会有问题。

后来终于查到一个方法可以解决这个问题,看下面代码:
-(void)viewDidLoad{
    [super viewDidLoad];
    ...
    // 添加一个PointAnnotation
    BMKPointAnnotation* annotation = [[BMKPointAnnotation alloc]init];
    CLLocationCoordinate2D coor;
    coor.latitude = 39.915;   
    coor.longitude = 116.404;
    annotation.coordinate = coor;
    annotation.title = @"这里是北京";
    [mapView addAnnotation:annotation];
    BMKAnnotationView* aview = [mapView viewForAnnotation:annotation];
    aview.tag = 1;
}

- (void)mapView:(BMKMapView *)mapView annotationViewForBubble:(BMKAnnotationView *)view{
    NSLog(@"paopaoclick___tag:%d",view.tag);
}

用上面代码从mapView里的viewForAnnotation方法根据anntation生成对应的View,然后设置一下tag就可以了,我没找到其它办法,如果大家知道其它更好的办法请告诉我。
分享到:
评论

相关推荐

    IOS百度地图经典demo

    "IOS百度地图经典demo"提供了一个实例,旨在帮助新手快速理解和掌握如何在iOS应用中使用百度地图API。这个demo包含了从基础的地图显示到高级功能的实现,是学习和实践的理想起点。 1. **百度地图SDK安装与集成**: ...

    iOS百度地图Demo

    在“iOS百度地图Demo”项目中,开发者可以找到完整的代码示例,学习如何初始化地图、设置地图的显示层级、添加覆盖物、监听地图事件以及处理用户交互。这将有助于快速理解和掌握百度地图SDK在iOS应用中的实际应用。 ...

    mono for ios 百度地图

    在Mono for iOS中使用百度地图,首先需要从百度地图官方获取API密钥,这是用于验证应用身份并启用服务的关键。 1. **安装BaiduMapLib**: 压缩包中的BaiduMapLib很可能是预先编译好的C#库,用于与百度地图SDK交互。...

    如何将百度地图加入IOS应用程序?-完整DEMO程序

    通过以上步骤,开发者可以在自己的iOS应用中成功集成并使用百度地图服务,为用户提供地图展示、定位、路径规划等功能。不断深入学习和实践,可以进一步优化用户体验,比如自定义地图样式、实时交通状况显示等。

    ios百度地图自定义大头针

    在iOS开发中,集成百度地图并自定义大头针及点击后弹出的气泡视图是一项常见的需求。本文将详细讲解如何实现这一功能,主要涉及的知识点包括:UI设计、百度地图SDK的使用、自定义Annotation以及自定义CalloutView。 ...

    百度地图ios版SDK说明文档

    百度地图iOS版SDK是一个针对iOS平台的开发工具包,它允许开发者在自己的应用程序中集成百度地图功能,包括地图展示、定位、路径规划、地理编码与反地理编码、覆盖物显示、事件监听等。该SDK支持Objective-C和Swift两...

    ios百度地图配置demo

    "ios百度地图配置demo"是一个示例项目,旨在帮助开发者理解并掌握如何在iOS应用中正确配置和使用百度地图SDK。下面我们将深入探讨这个Demo中的关键知识点。 1. **百度地图SDK安装**:首先,你需要在你的Xcode项目中...

    百度地图demo

    【标题】:“百度地图demo”是一个简易的示例项目,主要展示了如何在iOS应用中集成并使用百度地图服务。这个项目对于初学者来说是理想的入门教程,它通过简洁的代码来解释地图的基本功能,帮助开发者快速理解如何在...

    BaiduMap_IOSSDK_v6.1.0_Sample.zip

    百度地图作为国内领先的地图服务商,为开发者提供了强大的iOS SDK,帮助他们轻松集成地图功能到自己的应用程序中。本文将详细探讨“BaiduMap_IOSSDK_v6.1.0_Sample.zip”中的核心知识点,包括SDK的主要特性、API的...

    SwiftMapDemo:swift集成第三方地图(百度地图,高德地图)

    在百度地图中,可以使用`BMKPointAnnotation`,在高德地图中对应的是`MAAnnotationView`。设置标注的坐标,并将其添加到地图视图中。 6. **路径规划** 路径规划是地图服务的重要功能。可以调用百度地图或高德地图...

    百度地图实例

    【百度地图实例】是一个出色的示例项目,展示了如何在iOS应用中集成并使用百度地图服务。这个DEMO可能包含了各种功能的实现,如定位、路线规划、地图标注、信息窗口等,是开发者学习和参考的理想资源。在iOS开发中,...

    BaiDuMapTest Demo代码

    【BaiDuMapTest Demo代码】是一个基于iOS平台的应用示例,主要展示了如何集成和使用百度地图API来开发地图相关的功能。这个Demo旨在帮助开发者快速理解和掌握百度地图API在iOS应用中的具体应用,从而实现地图定位、...

    用百度地图实现定位

    本教程将详细介绍如何使用百度地图SDK在iOS应用中实现这些功能。首先,我们需要了解百度地图SDK的基础知识。 百度地图SDK为开发者提供了丰富的API接口,包括定位、路径规划、地图展示、搜索等功能。在iOS上使用百度...

    百度地图小案例

    【标题】"百度地图小案例"是一个iOS应用的源代码示例,主要展示了如何在iPhone或iPad设备上集成和使用百度地图服务。这个案例旨在帮助开发者,尤其是新手,理解和掌握百度地图API的基本功能和用法。 【描述】提到,...

    BaiduMapDemo_Draw:模仿搜房网的根据选中区域,在地图显示坐标点

    - 使用`BMKMapView`类来创建地图视图,这是百度地图SDK中的核心组件,可以展示地图、缩放、平移等操作。 - 设置地图的中心点坐标和缩放级别,可以通过`setCenterCoordinate:zoomLevel:`方法实现。 - 添加地图覆盖...

Global site tag (gtag.js) - Google Analytics