Unity-LBS
<p>[TOC]</p>
<h2>版本记录</h2>
<table>
<thead>
<tr>
<th style="text-align: left;">版本号</th>
<th style="text-align: left;">时间</th>
<th style="text-align: left;">修改内容</th>
<th style="text-align: left;">责任人</th>
<th style="text-align: left;">备注</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">V1.6.0</td>
<td style="text-align: left;">2019/01/08</td>
<td style="text-align: left;">Unity LBS 相关</td>
<td style="text-align: left;">buck.yu</td>
<td style="text-align: left;">无</td>
</tr>
<tr>
<td style="text-align: left;">V1.9.0</td>
<td style="text-align: left;">2019/03/13</td>
<td style="text-align: left;">lbs授权接口添加</td>
<td style="text-align: left;">buck.yu</td>
<td style="text-align: left;">无</td>
</tr>
</tbody>
</table>
<h3>1.0 集成</h3>
<blockquote>
<p><code>MSSDK 1.5.0</code> 开始提供
需要获取高德appKey才能使用
android包需要分包后才能获取正常数据。
需要登陆之后才能调用。</p>
</blockquote>
<p>请到<a href="https://lbs.amap.com/">高德开放平台</a> 创建应用,并获得高德的appKey。
并将appKey配置到“msConfig.json”文件中,配置键名为“amap_key”。
<a href="http://https://www.showdoc.cc/server/api/common/visitfile/sign/22e4c74d38649e7e664c48d6cc59f63d?showdoc=.jpg"><img src="https://www.showdoc.cc/server/api/common/visitfile/sign/22e4c74d38649e7e664c48d6cc59f63d?showdoc=.jpg" alt="" /></a></p>
<h3>1.1 获取附近的人</h3>
<p>简要描述:</p>
<p>获取附近玩家用户列表,此功能依赖定位权限,需要接入方提前申请好位置权限;另处于性能考虑,好友列表有10分钟缓存和最多获取100个好友上限</p>
<p>调用示例:</p>
<p>```c#
using iDreamsky.MSLD.Account;</p>
<p>int radis = 2; // 搜索半径
int pindex = 0; // 页索引
int psize = 10; // 页大小
LBSSortType stype = LBSSortType.ase; // 排序方式 desc由近及远/asc由远及近搜索
MSLDLBSManager.SearchNearPlayer(radis, pindex,psize, stype, (MSLDErrorCode code, string msg, MSLDNearPlayers tdata) =>
{
if (code == MSLDErrorCode.Success)
{
MSLDInfoWindow.Info("附近的人:" + tdata.desc());
}
else
{
MSLDInfoWindow.Info("附近的人失败! code = " + code + " msg = " + msg);
}
});
});</p>
<pre><code>
### 1.2 获取当前位置
简要描述:
获取当前位置
调用示例:
```c#
using iDreamsky.MSLD;
MSLDLBSManager.GetCurrentLocation((MSLDErrorCode code, string msg, MSLDLocation location) =>
{
if (code == MSLDErrorCode.Success)
{
MSLDInfoWindow.Info("获取当前位置:" + location.desc());
}
else
{
MSLDInfoWindow.Info("获取当前位置失败! code = " + code + " msg = " + msg);
}
});
</code></pre>
<h3>1.3 申请lbs授权</h3>
<p>请求获取位置授权操作</p>
<p>示例:</p>
<p>```C#</p>
<p>using iDreamsky.MSLD;</p>
<p>LBSPermissionsType type = LBSPermissionsType.UnShowTips; // 在权限拒绝的情况下再次申请权限不显示去设置界面设置权限
//LBSPermissionsType.ShowTips 在权限拒绝的情况下再次申请权限显示去设置界面设置权限</p>
<p>MSLDLBSManager.RequestLbsPermissions (type, (MSLDErrorCode code, string msg, string tdata) => {
if (code == MSLDErrorCode.Success) {
MSLDInfoWindow.Info ("授权成功:" + msg);
} else {
MSLDInfoWindow.Info ("授权失败! code = " + code + " msg = " + msg);
}
});</p>
<pre><code>
【**特别注意**】自1.9.0版本开始,LBS授权接口需要CP自行调用处理</code></pre>