【问题标题】:json "invalid label" - when parsing google Distance Matrix Requestjson“无效标签” - 解析谷歌距离矩阵请求时
【发布时间】:2012-03-22 16:22:15
【问题描述】:

我在这个简单的 ajax 调用中遇到了困难

function sendreq()
{
    $.ajax({
        dataType: 'jsonp',
        url: 'http://maps.googleapis.com/maps/api/distancematrix/json?origins=Seattle&destinations=San+Francisco&mode=driving&sensor=false',
        success: function (jsonp)
        {
            alert('success');
        }                
    });
}

当我从浏览器点击 url 时,我能够看到 json 格式的 api 结果,似乎 jQuery 也看到了结果,但无法解析。 它会引发错误

标签“destination_addresses”无效:[“旧金山,加利福尼亚州,美国”],

我使用 jQuery 1.7.1。来自 ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js 任何帮助,将不胜感激 谢谢。

【问题讨论】:

  • 嗯,JSON 不是 JSONP,但您告诉 jQuery 将响应视为 JSONP。如果 API 不支持 JSONP,那么您就不走运了(必须改用代理)。

标签: javascript json google-maps jquery


【解决方案1】:

由于Same Origin Policy,您无法通过Ajax 获取Distance Matrix 的数据。如果您使用的是 Google Distance Matrix API ,那么您可以检索该数据的唯一方法是从您的服务器端脚本。另一种方法是,您可以使用Distance Matrix Service。对于这两种方法(API 和服务),您必须注意Usage Limits and Requirements

距离矩阵服务的使用必须与显示 谷歌地图上的信息;例如,要确定 位于特定行驶时间内的起点-目的地对 在请求和显示这些目的地之前 地图。在不显示 禁止使用谷歌地图。

【讨论】:

    【解决方案2】:

    【讨论】:

    • 感谢您的链接,我想知道我做错了什么还是只是 API?如果没有人提出解决方案,我想我会使用 javascript api
    • 为什么还要以这种方式使用 Web 服务?为什么不直接使用 JavaScript API?
    猜你喜欢
    • 1970-01-01
    • 2017-12-13
    • 1970-01-01
    • 2012-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多