编辑导读:O2O商城是指互联网线上和线下消费者的结合的交易平台,很多企业都看好这块市场,投入了大量的资金和人力。本文作者基于自身工作经验,提供了O2O平台快速搭建商圈模块的思路以及具体的产品解决方案,与你分享。
序言:
近期在设计O2O商城的商圈系统,发现相关的产品介绍文章较少。故将自己近期摸索出来的经验进行整理,以供大家参考。本文主要介绍了O2O平台快速搭建商圈模块的思路以及具体的产品解决方案。
一、场景介绍
场景:目前公司在开发一个O2O商城,为了便于用户根据地区搜索商户,所以规划了商圈筛选功能。在经过竞品分析后,我们发现大众点评的地区商圈+地铁商圈的结构可以满足多种场景下的用户搜索。
用户故事:
用户故事一:用户可以根据目的地商圈进行搜索,以便于寻找目的地附近感兴趣的商户。
用户故事二:用户可以根据目的地地铁站寻找附近的商户,以便于在地铁站附近完成就餐。
所以,我们决定沿用地区商圈+地铁商圈的结构进行商圈的搭建。本教程也围绕该方案进行展开。
运营需求:在进行需求讨论时,运营提出希望能根据地址信息直接生成商圈,以避免运营花费大量的时间进行商圈填写工作。
二、需求拆解
我们根据以上场景将需求进行拆解。
-
我们需要在后台创建多个商圈,以便于用户根据商圈搜索商户。
-
运营在后台只需要输入商户的地址,系统自动完成商圈的创建/匹配工作,以减少运营的工作量。
-
商圈需要支持地区商圈和地铁商圈。
三、需求调研
针对以上讨论的结果,我对常见的三大地图服务商进行了调研。三大地图服务商分别为:百度、高德、腾讯。
经过调研,三大地图服务商都具备地理编码以及地理逆编码的功能。其中逆地理编码功能可以获得包含商圈在内的诸多信息。
地理编码:将结构化的地址转化为经纬度坐标。举例:北京市朝阳区阜通东大街6号转换后经纬度:116.480881,39.989410
逆地理编码:将经纬度坐标转化为结构化的地址。举例:116.480881,39.989410 转换地址描述后:北京市朝阳区阜通东大街6号
四、思路简介
由于商圈相关的信息只会在逆地理编码的接口中获取。所以运营在后台创建商户时,需要先添加商户的门牌号。我们需要根据商户的门牌号进行地理编码解析,从而获得商户的经纬度坐标信息,然后再通过经纬度坐标进行逆地理编码的解析。接口返回的信息中会包含商圈相关的数据,根据该数据即可完成商圈的创建/匹配工作。
如此一来商户的商圈数据就建立完成了,但还有商户的地铁商圈数据需要建立。
此时我们需要先获取某一个城市的所有地铁站名称(网上有现成的数据),然后对地铁站的名称进行地理编码解析,解析出坐标并保存在后台数据库中。每当运营创建商户时,通过接口向地图服务商请求与地铁站的距离数据,小于某一个数值即可算作属于该地铁商圈。
我们需要在后台配置一个参数,即距离地铁站多少范围内的商户会被归属为该商圈。该数据就依据业务的实际需求进行配置。在实际产品设计过程中,考虑到不同城市的规模,甚至可以依据不同的城市进行配置。
综上O2O平台如何创建商圈的思路已经描述清楚了。这里需要注意的是,根据以上逻辑,一个商户有可能会属于多个商圈,所以商户和商圈的关系是一对多的关系。各位产品经理在和开发沟通过程中务必要明确这点。
五、地理编码接口
接下来我们对比一下三大地图运营商的API接口。如要查询完整的接口内容请点击文末的链接。
1. 腾讯地理编码接口
2. 高德地理编码接口
3. 百度地理编码接口
经过分析我们得出,三大地图服务商地理编码API的请求参数中,与产品设计相关的只需要注意address参数。即运营只需要提供详细的结构化地址(为避免产生错误,在API请求时,建议添加城市信息)。
但是我们注意到三大地图服务商都没有根据结构化的地址信息返回给我们商圈相关的数据。此时我们需要根据返回的经纬度坐标调用逆地理编码接口来获取商户的商圈数据。
六、逆地理编码接口
由于接口返回参数过多,逆地理编码接口返回参数说明只对部分内容进行截图,想要查询完整说明文档的请点击文末的链接。
1. 腾讯逆编码接口
2. 高德逆编码接口
3. 百度逆编码接口
经过分析,我们发现三大地图运营商在逆地理编码的API在请求数据中,我们只需要关注经纬度坐标即可,该参数已经通过地理编码的API获得。
接口返回的数据都包含商圈信息,上文中已经用红框标记。
4. 服务示例
我们注意到在返回参数中,腾讯的API只返回一个商圈信息,高德和百度返回的都是多个商圈的信息。
于是我们在页面上直接调用各个地图服务上的服务示例,如下。
腾讯地图返回的结果中有business_area一栏,在文档中并没有标出,从含义上判断为商圈,但是还有一个famous_area的字段标记的是相同的内容,具体使用返回的那一个数据,建议各位产品经理根据自己所在城市的业务场景再次深入调研一下。
在高德地图的返回结果中,我们可以看到已经有多个商圈信息存在,这里可以直接调用。
PS:百度上没找到可以快速调用的服务示例,所以无法看到返回参数,从接口上看百度也是支持多商圈信息返回的,所以我们需要成为百度开发者后才能调用数据。
除以上内容外,各位产品在设计产品时需要注意,每一家地图供应商的经纬度坐标是有偏差的,如要混合使用则需要先进行坐标转换,每一家地图供应商都会有对应的接口。
需要详细查看接口文档的请点击以下链接:
腾讯地图API:https://lbs.qq.com/service/webService/webServiceGuide/webServiceGeocoder
高德地图API:https://lbs.amap.com/api/webservice/guide/api/georegeo
百度地图API:http://lbsyun.baidu.com/index.php?title=webapi/guide/webservice-geocoding
本文由 @竹子 原创发布于人人都是产品经理,未经作者许可,禁止转载。
题图来自Unsplash,基于CC0协议。