控制台信息:
默认失败回调 biz.util.ut Object
默认失败回调 biz.map.view Object {errorCode: 7, errorMessage: "requestJsApis() not invoked"}
onMapClick(){
console.log("map ")
dd.ready(function () {
dd.biz.map.view({
latitude: 37.06558798, // 纬度
longitude: 114.49951172, // 经度
title: "北京国家广告产业园" // 地址/POI名称
});
});
}
我可以通过userid,获得自己的通讯录信息, 为啥这里还是错误7?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
根据您提供的控制台信息和代码片段,遇到的问题是调用dd.biz.map.view
方法时收到错误码7,错误信息为"requestJsApis() not invoked"。这意味着在尝试使用钉钉JSAPI的biz.map.view
功能前,没有正确地调用requestJsApis()
方法来初始化所需权限。
问题描述: - 您在尝试通过钉钉开发的JSAPI展示地图视图时,遇到了回调错误,错误代码7指示requestJsApis()
方法未被调用。
可能原因: - 在调用具体的业务JSAPI(如dd.biz.map.view
)之前,没有先执行dd.ready
内部的requestJsApis()
来请求必要的API权限。 - requestJsApis
可能没有包含所有需要的API权限列表,特别是与地图查看相关的权限。
解决步骤: 1. 确保requestJsApis
调用: - 确保在使用任何钉钉JSAPI之前,已经通过dd.ready
函数内部调用了requestJsApis
,并传入了正确的API列表。例如: javascript dd.ready(function () { // 请求需要使用的JSAPI权限 dd.runtime.permission.requestJsApis({ jsApiList: ['biz.map.view'], // 添加所有需要的API权限到此数组 success: function (data) { if (data.jsapiList.indexOf('biz.map.view') !== -1) { // 权限请求成功,可以调用相关API dd.biz.map.view({ latitude: 37.06558798, longitude: 114.49951172, title: "北京国家广告产业园" }); } else { console.error("缺少必要的JSAPI权限"); } }, fail: function (err) { console.error("requestJsApis failed:", err); } }); });
检查权限配置:
测试与调试:
requestJsApis
的调用结果,确认是否成功获取到了所需的API权限。通讯录权限说明: 虽然您提到可以通过userid获取通讯录信息,但这与当前的地图API调用错误不直接关联。错误7明确指出是JSAPI调用前的权限准备步骤缺失。如果通讯录访问功能正常,这表明权限配置本身是可行的,问题在于特定于地图API的权限请求流程。
通过上述步骤,您可以定位并解决未能正确调用biz.map.view
导致的错误7问题。如果问题依然存在,请检查是否有其他逻辑错误或考虑是否存在钉钉平台的更新、限制变更等因素。