【问题标题】:How can I filter Bing Location API results by user location for auto complete?如何按用户位置过滤 Bing Location API 结果以自动完成?
【发布时间】:2012-12-21 20:07:17
【问题描述】:

我有这个函数可以根据用户输入的地址返回 bing 地址建议。 我已经指定了 userLocation,但结果并不像我想象的那么准确。还有什么我应该在这里做的吗?如果必须,我可以手动指定州或邮政编码,但我宁愿避免进行后期处理。

例如,输入 111 会返回来自 111, NY, 111 Sweden, 111 Denmark 的结果。我想至少将其限制在美国,并且实际上仅限于我可以硬编码的几个州内。当我在数据中手动指定 postalCode 的选项时,它会覆盖我在查询中使用的选项。

    var geolocate = function(options) {
    $.ajax({
        url: "http://dev.virtualearth.net/REST/v1/Locations",
        dataType: "jsonp",
        data: {
            key: "KEY",
            q: options.address,
            userLocation: options.latitude + ',' + options.longitude,
            maxResults: options.maxResults,
        },
        jsonp: "jsonp",
        success: function(data) {
            if (options.success instanceof Function) {
                options.success(data);
            }
        },
        error: function(xhr, status, text) {
            alert('ERROR:\n');
        }
    });
};

【问题讨论】:

    标签: jquery jquery-autocomplete bing-api bing-maps


    【解决方案1】:

    事实证明,这实际上会达到我的预期(除非测试证明不是这样)我将地址指定为单个参数 q,但如果我将 addressLine 与 userLocation 结合指定,它会按预期过滤结果。

    var geolocate = function(options) {
        $.ajax({
            url: "http://dev.virtualearth.net/REST/v1/Locations",
            dataType: "jsonp",
            data: {
                key: "KEY",
                addressLine: options.address,
                countryRegion: 'US',
                userLocation: options.latitude + ',' + options.longitude,
                maxResults: options.maxResults,
            },
            jsonp: "jsonp",
            success: function(data) {
                if (options.success instanceof Function) {
                    options.success(data);
                }
            },
            error: function(xhr, status, text) {
                alert('ERROR:\n\n');
            }
        });
    };
    

    【讨论】:

      【解决方案2】:

      我对 Bing Maps API 不是很熟悉,除了我前段时间做的一些修修补补……但是您是否尝试过传递 ip 或包括位置?您可能需要反向查找用户 Lat/Lng 以获得城市名称......为什么他们不会从 userLocation 推断该信息是我无法理解的。

      http://msdn.microsoft.com/en-us/library/ff701714.aspx

      【讨论】:

      • 不幸的是,IP 和 userLocation 似乎并没有大幅缩小结果范围。我需要排除所有结果,尤其是美国以外的结果。
      猜你喜欢
      • 1970-01-01
      • 2013-09-14
      • 2018-04-13
      • 2013-07-25
      • 2014-04-05
      • 2011-08-27
      • 2014-05-09
      • 2014-09-16
      • 1970-01-01
      相关资源
      最近更新 更多