iOS 使用腾讯地图SDK,搜索附近位置

本文介绍了在iOS应用中如何使用腾讯地图SDK进行地图初始化,并设置QMapViewDelegate代理,通过获取的经纬度调用地点搜索API查询附近位置。详细步骤包括设置代理、初始化mapview以及使用nearby搜索方法,注意参数正确填写,避免坐标错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



    前言,要仿微信、qq搜索附近的位置,第一次使用百度地图SDK,首先获取到当前的经纬度,然后再利用反向地理编码检索,但是仅仅只能获取10条附近的位置,想利用POI检索位置信息,但是POI需要使用关键字来搜索,关键字只能是一个,所以只能搜索到一系列相关的位置信息,最后搜索到腾讯的SDK可以搜索附近的位置,可以不使用关键字。
   
    下面介绍如何使用腾讯地图的sdk


1. 下载腾讯地图SDK   http://lbs.qq.com/ios_v1/index.html
2. 将腾讯SDK集成到自己的工程中   http://lbs.qq.com/ios_v1/guide-helloworld.html
    并初始化它 [QMapServices sharedServices].apiKey = @"您的key";
3. 使用腾讯地图提供的方法,获取当前的经纬度
(1)引入头文件#import <QMapKit/QMapKit.h>

(2)添加代理 QMapViewDelegate

(3)初始化mapview

        self.mapView = [[QMapView alloc] init];
        self.mapView.delegate = self;   
        [self.mapView setShowsUserLocation:YES];  //开启服务

(4)在代理函数中,获取经纬度

// 腾讯地图 delete
- (void)mapViewWillStartLocatingUser:(QMapView *)mapView
{
    //获取开始定位的状态
}

- (void)mapViewDidStopLocatingUser:(QMapView *)mapView
{
    //获取停止定位的状态
}

- (void)mapView:(QMapView *)mapView didUpdateUserLocation:(QUserLocation *)userLocation updatingLocation:(BOOL)updatingLocation
{
    //刷新位置  如果这块不关闭的话,会一直调用这个代理函数
    [self.mapView setShowsUserLocation:NO];
    _longitude = [NSNumber numberWithDouble:userLocation.location.coordinate.longitude];
    _latitude = [NSNumber numberWithDouble:userLocation.location.coordinate.latitude];
}

(5)根据获取到的经纬度,调用逆地址解析,查询所在的城市,有一个ip地位的,但是不知道输入什么ip地址进去查询,可以试试 ,参考网址:http://lbs.qq.com/webservice_v1/guide-gcoder.html

(6)根据获取到的经纬度,使用地点搜索的api,查询附近的位置,keyword参数可以直接去掉,参考网址:http://lbs.qq.com/webservice_v1/guide-search.html

注:nearby的所带的参数格式  nearby(lat,lng<中心坐标>,radius<半径/米>),当时经纬度填反了,找了很长时间


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值