【问题标题】:jQuery & Google Maps: How To AJAX ItjQuery 和谷歌地图:如何 AJAX 它
【发布时间】:2011-01-24 03:54:31
【问题描述】:

我有一个简单的任务,但似乎无法完成。我将有一个页面,允许用户输入他们的地址并让谷歌返回到目的地的路线。所以,第一步是去谷歌地图 API 看看这是怎么做的。所以,从他们的例子中,我得到了以下网址:

http://maps.googleapis.com/maps/api/directions/json?origin=Chicago,IL&destination=Los+Angeles,CA&waypoints=Joplin,MO|Oklahoma+City,OK&sensor=false

如果你把这个url放在你的浏览器中,你会得到一个json结果。所以,我的想法是,为什么我不能在 jQuery AJAX 请求中调用它?这可能吗?我尝试了下面的请求,但在 jQuery 脚本中出现“拒绝访问”错误:

        $.ajax({
            type: "POST",
            url: "http://maps.googleapis.com/maps/api/directions/json?origin=Chicago,IL&destination=Los+Angeles,CA&waypoints=Joplin,MO|Oklahoma+City,OK&sensor=false",
            success: function (msg) {
                alert(msg);
            }
        });

有没有人发现语法有问题或知道为什么这不起作用?仅供参考,这只是第一个问题。我希望这个问题成为其他人通过 jquery 和 ajax 创建带有方向的谷歌地图而不使用 php(似乎其他人都在使用)的一个很好的资源。

【问题讨论】:

    标签: jquery ajax google-maps-api-3


    【解决方案1】:

    为了做跨域$.ajax,给定的URL必须支持JSON-P。您使用的网址仅支持 JSON。

    编辑:我错了。您正在寻找方向,而不是地理编码。我不确定 API 库中是否有适合您的内容,但您可能会到处乱找。

    https://code.google.com/apis/maps/documentation/javascript/reference.html

    https://code.google.com/apis/maps/documentation/geocoding/

    (忽略下面有关地理编码的信息)

    Google 为地理编码禁用了 JSON-P 回调以防止滥用。您必须使用 Google Geocoding API 库来执行正确的请求,并且反向 Geocoding 的目的必须是在 Google 地图上显示地址。

    【讨论】:

    • 我很确定您必须使用 Google Maps API Javascript 而不是 Directional API,因为您是在客户端处理 Web 应用程序。
    • 我就是这么想的(我不希望这样,但我确实有一种直觉,那就是跨域会在后面咬我)。我想完全控制请求和响应,以便我可以使用自定义消息处理每个事件和失败,但看起来我将不得不使用 API。感谢您的信息。
    猜你喜欢
    • 2013-01-01
    • 2015-08-04
    • 2013-06-16
    • 1970-01-01
    • 2023-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多