【发布时间】:2019-06-05 09:51:39
【问题描述】:
我目前正在编写一个程序,该程序应将数据库中的所有地址转换为其相应的纬度/经度坐标。
为此,我使用 HERE 地理编码 API。
由于该程序适用于多人,我让他们手动输入他们的 app_id 和 app_code。
问题是,如果其中一个凭据无效,它将返回 XML 而不是 JSON,这会导致错误:
(SyntaxError: expected expression, got '<')
这是一个示例链接,由地理编码器调用:
我试图以某种方式访问错误,但由于地理编码器内部已经存在错误,我必须等待超时(30 秒)才能调用我的“onError”回调。即使这样我也没有得到像“invalidCredentials”这样的错误代码,而只是一个带有行号和列号的对象。
基本上我只是使用普通的地理编码服务
var platform = new H.service.Platform({
app_id: 'invalidCredentialId',
app_code: 'invalidCredentialCode'
});
var geocoder = platform.getGeocodingService();
geocoder.geocode({searchText: 'Berlin'}, handleResponse, handleError);
我不认为这按预期工作。 Geocoder.geocode() 函数期望一个 JSON 值将其传递给回调函数,但它失败了,因为它无法将 XML 数据解析为 JSON 对象。
如果这按预期工作,我会很高兴收到有关如何处理此问题的建议,或者可能是测试给定令牌有效性的解决方案。
【问题讨论】:
标签: javascript geocoding here-api