提交 9438a225 编写于 作者: Q qiang

docs: 增加三方定位和地图服务收费说明

上级 c4327fb4
......@@ -7,7 +7,7 @@
|:-|:-|:-|:-|:-:|
|type|String|否|默认为 wgs84 返回 gps 坐标,gcj02 返回国测局坐标,可用于 ``uni.openLocation`` 的坐标,app平台高德SDK仅支持返回gcj02||
|altitude|Boolean|否|传入 true 会返回高度信息,由于获取高度需要较高精确度,会减慢接口返回速度|字节跳动小程序、飞书小程序、支付宝小程序不支持|
|geocode|Boolean|否|默认false,是否解析地址信息|仅App平台支持|
|geocode|Boolean|否|默认false,是否解析地址信息|仅App平台支持(安卓需配置三方定位SDK)|
|highAccuracyExpireTime|number|否|高精度定位超时时间(ms),指定时间内返回最高精度,该值3000ms以上高精度定位才有效果|App (3.2.11+)、H5 (3.2.11+)|
|timeout|String|否|默认为 5,定位超时时间,单位秒|仅飞书小程序支持|
|cacheTimeout|Number|否|定位缓存超时时间,单位秒;每次定位缓存当前定位数据,并记下时间戳,当下次调用在cacheTimeout之内时,返回缓存数据|仅飞书小程序、支付宝小程序支持|
......@@ -64,13 +64,14 @@ uni.getLocation({
- `移动端浏览器` 普遍仅支持GPS定位,在GPS信号弱的地方可能定位失败。
- `PC 设备` 使用 Chrome 浏览器的时候,位置信息是连接谷歌服务器获取的,国内用户可能获取位置信息失败。
- 微信公众号可使用微信js sdk,[详见](https://ask.dcloud.net.cn/article/35380)
- `2.9.9 版本以上`,优化 uni.getLocation 支持通过 IP 定位。默认通过 GPS 获取,如果获取失败,备选方案是通过 IP 定位获取,需填写地图服务平台的秘钥(key)。key配置:manifest.json ---> H5配置 ---> 定位和地图 ---> key。
- `2.9.9 版本以上`,优化 uni.getLocation 支持通过 IP 定位。默认通过 GPS 获取,如果获取失败,备选方案是通过 IP 定位获取,需填写三方地图服务平台的秘钥(key)。key配置:manifest.json ---> H5配置 ---> 定位和地图 ---> key。
- `App 平台`
- Android由于谷歌服务被墙,或者手机上没有GMS,想正常定位就需要向高德等三方服务商申请SDK资质,获取AppKey。否则打包后定位就会不准。云打包时需要在manifest的SDK配置中填写 Appkey。在 manifest 可视化界面有详细申请指南,详见:[https://ask.dcloud.net.cn/article/29](https://ask.dcloud.net.cn/article/29)。离线打包自行在原生工程中配置。注意包名、appkey、证书信息必须匹配。真机运行可以正常定位,是因为真机运行基座使用了DCloud向高德申请的sdk配置,打包后必须由开发者自己申请。如果手机自带GMS且网络环境可以正常访问google定位服务器,此时无需在 manifest 填写高德定位的 sdk 配置。
- `<map>` 组件默认为国测局坐标 gcj02,调用 `uni.getLocation` 返回结果传递给 `<map>` 组件时,需指定 type 为 gcj02。
- 定位 和 map 是两个东西。通过 `getLocation` 得到位置坐标后,可以在任意map地图上展示,比如定位使用高德,地图使用 google 的 webview 版地图。如果坐标系不同时,注意转换坐标系。
- 如果使用 `web-view` 加载地图,无需在manifest里配地图的sdk配置。
- 持续定位方案:iOS端可以申请持续定位权限,[参考](https://ask.dcloud.net.cn/article/12569)。Android如果进程被杀,代码无法执行。可以使用 [unipush](https://ask.dcloud.net.cn/article/35622) ,通过服务器激活App,执行透传消息,让App启动然后采集位置。Android上,即使自己写原生插件做后台进程,也很容易被杀,unipush是更合适的方案
- `3.3.0 版本以上` 优化系统定位模块,可不使用三方定位SDK的进行高精度定位,具体参考:[系统定位](app/geolocation)
- `小程序平台`
- api默认不返回详细地址中文描述。需要中文地址有2种方式:1、使用高德地图小程序sdk,在app和微信上都可以获得中文地址,[参考](http://ask.dcloud.net.cn/article/35070)。2、只考虑app,使用``plus.geolocation``也可以获取中文地址。manifest里的App SDK配置仅用于app,小程序无需在这里配置。
- 可以通过用户授权API来判断用户是否给应用授予定位权限,[详见](https://uniapp.dcloud.io/api/other/authorize)
......@@ -133,3 +134,14 @@ uni.chooseLocation({
- `微信内置浏览器` 中可使用微信js sdk,[详见](https://ask.dcloud.net.cn/article/35380)
- chooseLocation 属于封装型API,开发者若觉得不够灵活,可自行基于原始的 map 组件进行封装。插件市场已经有各种封装样例了。
-`Android App端` 位置不准,见上文 uni.getLocation 的注意事项
### 三方定位和地图服务收费说明
* 使用三方定位或者地图服务,需向服务提供商(如:高德地图、百度地图、腾讯地图、谷歌地图)申请授权或缴纳费用。
* 申请三方定位或地图服务秘钥时请详细阅读授权和收费说明,并关注服务条款后期的变更。
* 以下是关于部分地图服务商授权和收费的简介,具体以地图服务商官网公布的最新信息为准。
* 高德地图:商用授权收费,超出配额收费。
* 百度地图:商用授权收费,超出配额收费。
* 腾讯地图:商用授权收费,超出配额收费。
* 谷歌地图:超出配额收费。
* 小程序平台内置地图:无需关心地图服务商,免费使用,无配额限制。
\ No newline at end of file
......@@ -356,7 +356,7 @@ point|Object| |是|检索的中心点坐标 {latitude: 纬度, longitude: 经度
key|String| | 是|搜索关键字
radius|Number|3000|否|检索的半径,单位为米
index|Number|1|否|要获取检索结果的页号索引
offset|Number|10|否|设置每页条目数(默认每页10条数据)。HBuilder 3.2.13+
offset|Number|10|否|设置每页条目数(默认每页10条数据)。HBuilder 3.2.13+
##### callback 返回 Object 参数说明
属性|类型 |说明
......@@ -391,7 +391,7 @@ city|String| |否|查询城市,可选值:cityname(中文或中文全拼)
types|String| |否| 类型,多个类型用“\|”分割 可选值:文本分类、分类代码 [code 参考表](https://lbs.amap.com/api/webservice/download)
point|Object| |否|设置后,则返回结果会按照距离此点的距离来排序 {latitude: 纬度, longitude: 经度}
sortrule|Number|0|否|排序规则, 0-距离排序;1-综合排序, 默认0
offset|Number|10|否|设置每页条目数(默认每页10条数据)。HBuilder 3.2.13+
offset|Number|10|否|设置每页条目数(默认每页10条数据)。HBuilder 3.2.13+
cityLimit| Boolean | false | 否 | 强制城市限制功能 默认 false,例如:在上海搜索天安门,如果citylimit为true,将不返回北京的天安门相关的POI。HBuilder 3.2.13+
##### callback 返回 Object 参数说明
......@@ -417,3 +417,14 @@ poiList|Array.&lt;poiObject&gt;|POI信息数组
- App 端使用地图组件需要向高德或百度等三方服务商申请SDK资质,获取AppKey,打包时需要在manifest的SDK配置中填写Appkey。在manifest可视化界面有详细申请指南,详见:[https://ask.dcloud.net.cn/article/29](https://ask.dcloud.net.cn/article/29)
- H5 端使用地图和定位相关,需要在 (manifest.json)[/collocation/manifest?id=h5sdkconfig] 内配置腾讯或谷歌等三方地图服务商申请的秘钥(key)。
- ``<map>`` 组件默认为国测局坐标,调用 ``uni.getLocation`` 返回结果传递给 ``<map>`` 组件时,需指定 type 为 gcj02。
### 三方定位和地图服务收费说明
* 使用三方定位或者地图服务,需向服务提供商(如:高德地图、百度地图、腾讯地图、谷歌地图)申请授权或缴纳费用。
* 申请三方定位或地图服务秘钥时请详细阅读授权和收费说明,并关注服务条款后期的变更。
* 以下是关于部分地图服务商授权和收费的简介,具体以地图服务商官网公布的最新信息为准。
* 高德地图:商用授权收费,超出配额收费。
* 百度地图:商用授权收费,超出配额收费。
* 腾讯地图:商用授权收费,超出配额收费。
* 谷歌地图:超出配额收费。
* 小程序平台内置地图:无需关心地图服务商,免费使用,无配额限制。
\ No newline at end of file
......@@ -66,3 +66,14 @@ uni.openLocation({
```
- 点击返回也会进入 `fail` 回调中
### 三方定位和地图服务收费说明
* 使用三方定位或者地图服务,需向服务提供商(如:高德地图、百度地图、腾讯地图、谷歌地图)申请授权或缴纳费用。
* 申请三方定位或地图服务秘钥时请详细阅读授权和收费说明,并关注服务条款后期的变更。
* 以下是关于部分地图服务商授权和收费的简介,具体以地图服务商官网公布的最新信息为准。
* 高德地图:商用授权收费,超出配额收费。
* 百度地图:商用授权收费,超出配额收费。
* 腾讯地图:商用授权收费,超出配额收费。
* 谷歌地图:超出配额收费。
* 小程序平台内置地图:无需关心地图服务商,免费使用,无配额限制。
\ No newline at end of file
......@@ -263,3 +263,14 @@ A:App端原生地图,依赖第三方的 SDK,因此打包移动应用时,
Q:国外应用想使用谷歌地图/google地图怎么办?
A:1. 可以在web-view下调用谷歌的web地图;2. 可以写一个原生插件封装谷歌原生地图,具体参考uni-app插件市场的原生插件开发教程。插件市场已有三方写好的[地图插件](https://ext.dcloud.net.cn/search?q=%E8%B0%B7%E6%AD%8C%E5%9C%B0%E5%9B%BE)
### 三方定位和地图服务收费说明
* 使用三方定位或者地图服务,需向服务提供商(如:高德地图、百度地图、腾讯地图、谷歌地图)申请授权或缴纳费用。
* 申请三方定位或地图服务秘钥时请详细阅读授权和收费说明,并关注服务条款后期的变更。
* 以下是关于部分地图服务商授权和收费的简介,具体以地图服务商官网公布的最新信息为准。
* 高德地图:商用授权收费,超出配额收费。
* 百度地图:商用授权收费,超出配额收费。
* 腾讯地图:商用授权收费,超出配额收费。
* 谷歌地图:超出配额收费。
* 小程序平台内置地图:无需关心地图服务商,免费使用,无配额限制。
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册