前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >腾讯位置服务教你轻松搞定微信发送位置功能

腾讯位置服务教你轻松搞定微信发送位置功能

作者头像
腾讯位置服务
发布2020-07-31 11:46:56
1.1K0
发布2020-07-31 11:46:56
举报
文章被收录于专栏:腾讯位置服务腾讯位置服务

以下内容转载自面糊的文章《模仿微信发送位置功能》

作者:面糊

链接:https://www.jianshu.com/p/47b3ada2e36d

来源:简书

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

前言

微信的发送位置功能是一个十分方便的功能,他会定位用户当前所在地点,然后请求用户周边的POI,并且还可以通过拖动地图来获取其他的位置发送给对方,本Demo是结合腾讯地图SDK来实现类似的功能。

使用场景

拖动地图选择地图的中心点,然后请求该点周边的门店信息,可以通过设置搜索分类来指定搜索门店的类型,如:美食、学校等。

准备

核心代码:

1、设置大头针,固定在地图中央,并监听地图移动的时候大头针跟随移动:

代码语言:txt
复制
- (void)mapViewRegionChange:(QMapView *)mapView {
    // 更新位置
    _annotation.coordinate = mapView.centerCoordinate;
}

2、配置周边检索功能,将检索类型设置为"美食":

代码语言:txt
复制
- (void)searchCurrentLocationWithKeyword:(NSString *)keyword {
CLLocationCoordinate2D centerCoord = self.mapView.centerCoordinate;

    QMSPoiSearchOption *option = [[QMSPoiSearchOption alloc] init];
    if (keyword.length > 0) {
        option.keyword = keyword;
    }
    option.boundary = [NSString stringWithFormat:@"nearby(%f,%f,2000,1)", centerCoord.latitude, centerCoord.longitude];
    [option setFilter:@"category=美食"];
    [self.mapSearcher searchWithPoiSearchOption:option];
}

3、解析检索结果,移动地图视野,并将结果显示在tableView上:

代码语言:txt
复制
- (void)searchWithPoiSearchOption:(QMSPoiSearchOption *)poiSearchOption didReceiveResult:(QMSPoiSearchResult *)poiSearchResult {
    NSLog(@"%@", poiSearchResult);

    if (poiSearchResult.count == 0) {
        return;
    }

    // 地图移动到搜索结果的第一个位置
    if (_searchBar.text.length > 0) {
        _selectedIndex = 0;
        QMSPoiData *firstData = poiSearchResult.dataArray[0];
        _annotation.coordinate = firstData.location;
        [self.mapView setCenterCoordinate:firstData.location animated:YES];
    } else {
        _selectedIndex = -1;
    }

    _searchResultArray = poiSearchResult.dataArray;
    [_searchResultTableView reloadData];
}

以上就是核心代码,在Demo中还添加了用于显示地址的TableView以及搜索位置的SearchBar,有兴趣的同学可以在文章最下方进入码云下载完整示例。

示例:搜索西二旗地铁附近的美食

链接

感兴趣的同学可以在码云中下载Demo尝试一下。

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 使用场景
  • 准备
  • 核心代码:
  • 示例:搜索西二旗地铁附近的美食
  • 链接
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档