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

前言

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

使用场景

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

准备

核心代码:

1、设置大头针,固定在地图中央,并监听地图移动的时候大头针跟随移动:- (void)mapViewRegionChange:(QMapView *)mapView {

// 更新位置

_annotation.coordinate = mapView.centerCoordinate;

}

2、配置周边检索功能,将检索类型设置为"美食":- (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上:- (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,有兴趣的同学可以在文章最下方进入码云下载完整示例。

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

bVbKuUr

链接

感兴趣的同学可以在码云中下载Demo尝试一下。以下内容转载自面糊的文章《模仿微信发送位置功能》

作者:面糊

来源:简书

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值