cocos2d-x技术群新群:117871561
每一次的坚持,都是一首体现自身价值的诗。坚定不移,就会铸就一部价值连城的离骚。
写在前面的:在接入sdk之前 要做三件事情 必须要做
1,跟策划沟通好需求,越仔细越好。除了sdk ,本身产品的一些细节部分
2,一定要 先运行官方deamo
3,仔细阅读文档
android部分:
1, 官方文档:https://lbs.amap.com/api/android-location-sdk/gettingstarted
2,接入sdk时遇到的问题
(1),定位成功率特别低
官方上接入sdk是 初始化时置参数 然后需要定位时 调用定位接口 这样做 会导致 定位成功率低 在做项目时 问了一下 高德的技术人员 ,这里应该 改成 每次调用定位 都要重新去配置一下参数才可以。
以下是官方deamo代码
![](https://img.haomeiwen.com/i2888297/678c7846cb773d86.png)
![](https://img.haomeiwen.com/i2888297/9e35e6f39ebf34e2.png)
![](https://img.haomeiwen.com/i2888297/eefe19d70062f318.png)
以下是修改后的,每次定位要重新设置一次
![](https://img.haomeiwen.com/i2888297/248ab4ced37c4bae.png)
(2)android6.0权限问题,安装好app后不提示用户要不要打开定位权限
如果手机定位是关掉的 手机也不会提示 是不是要开启,所以 需要进行开启权限提示
第一种方式:
deamo里已经给出代码
![](https://img.haomeiwen.com/i2888297/7f3761b8ca6f5b8c.png)
复制粘贴即可
效果图
![](https://img.haomeiwen.com/i2888297/2ebba75838aaa79a.png)
第二种方式:
if (ContextCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_COARSE_LOCATION)!=PackageManager.PERMISSION_GRANTED){
ActivityCompat.requestPermissions(this, new String []{android.Manifest.permission.ACCESS_COARSE_LOCATION},1);
}
这种方式 需要 v7或者v4 2.4版本的jar包做支持 不然 不能使用ActivityCompat类
jar包 在群文件里有 群号117871561
使用方法
v4包,不需要继承AppCompatActivity直接用就可以
import android.support.v4.app.ActivityCompat;
import android.support.v4.content.ContextCompat;
v7包,需要项目继承AppCompatActivity
import android.support.v7.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
}
ios部分
1,官方文档 :https://lbs.amap.com/api/ios-location-sdk/summary/
2,接入sdk时遇到的问题
(1)定位成功率低
同android
3,ios权限问题
info.plist中添加字段 Privacy - Location Always and When In Use Usage Description
![](https://img.haomeiwen.com/i2888297/834acc8566348209.png)
效果图
![](https://img.haomeiwen.com/i2888297/362ccbfa732cdf13.png)
网友评论