gpt4 book ai didi

jquery - 使用 Bing map REST 控件查找附近的实体

转载 作者:行者123 更新时间:2023-12-01 00:08:21 25 4
gpt4 key购买 nike

我正在尝试使用 Bing map REST API 查询给定搜索半径内给定名称的所有实体的地址。最终目标是做类似星巴克在这里所做的事情:Store Locator ,但我使用了 Fiddler,看起来他们正在使用 6.3 API :/

如果有办法做到这一点,这似乎没有很好的记录。如果您上传自己的数据,则有一些示例说明如何执行此操作,但如果您正在搜索应该已在 map 上的本地企业,则不然:Examples 。这是我到目前为止所尝试过的......它正在返回俄勒冈州的星巴克:

var query = 'starbucks';
_map.getCredentials(function (credentials) {
$.getJSON('http://dev.virtualearth.net/REST/V1/Locations/' + query + '?key=' + credentials + '&lat=' + position.coords.latitude + '&long=' + position.coords.longitude + '&limit=25&jsonp=?&s=1',
function (result) {
if (result.resourceSets[0].address != 'undefined') {
var address = result.resourceSets[0].address;
alert(address);
}
else {
$("#results").html("Oops! It appears one or more of the addresses you entered are incorrect. :( ");
}
});
});

这是位置查询之前的代码,以防您想知道我在位置查询中使用的位置数据是什么 - 它本质上是通过地理定位 API 来自用户的位置:

var _map;

$(document).ready(function () {
if (Modernizr.geolocation) {
$(".geofallback").hide();
}
else {
$(".geofallback").show();
}
$.post("Home/Key", { "func": "Key" }, function (data) {
// Create a Bing map
_map = new Microsoft.Maps.Map(document.getElementById("map"),
{ credentials: data, mapTypeId: Microsoft.Maps.MapTypeId.ordnanceSurvey });
});
// Get the current position from the browser
if (!navigator.geolocation) {
$("#results").html("This browser doesn't support geolocation, please enter an address");
}
else {
navigator.geolocation.getCurrentPosition(onPositionReady, onError);
}
});

function onPositionReady(position) {

// Apply the position to the map
var location = new Microsoft.Maps.Location(position.coords.latitude,
position.coords.longitude);
_map.setView({ zoom: 18, center: location });

// Add a pushpin to the map representing the current location
var pin = new Microsoft.Maps.Pushpin(location);
_map.entities.push(pin);
var query = 'starbucks';
_map.getCredentials(function (credentials) {
$.getJSON('http://dev.virtualearth.net/REST/V1/Locations/' + query + '?key=' + credentials + '&lat=' + position.coords.latitude + '&long=' + position.coords.longitude + '&limit=25&jsonp=?&s=1',
function (result) {
if (result.resourceSets[0].address != 'undefined') {
var address = result.resourceSets[0].address;
alert(address);
}
else {
$("#results").html("Oops! It appears one or more of the addresses you entered are incorrect. :( ");
}
});
});
}

任何帮助将不胜感激!!

最佳答案

Bing map 位置 API 用于地理编码 - 即在 map 上查找地址或地点。您想要做的就是找到事物,然后将它们放在 map 上。为此,您需要使用 Bing API(而不是 Bing map API)。

Bing 电话簿搜索 REST 服务应该可以满足您的需求 - 这里有一个示例:http://msdn.microsoft.com/en-us/library/dd251030.aspx电话簿搜索的每个结果都有一个纬度和经度属性,您可以使用它们在 map 上创建图钉。

关于jquery - 使用 Bing map REST 控件查找附近的实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6615411/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com