gpt4 book ai didi

web-services - Google Places Autocomplete(包含在 Places Details 中)使用 session token 时不会触发 SKU

转载 作者:行者123 更新时间:2023-12-04 14:48:05 24 4
gpt4 key购买 nike

我正在向 Google places autocomplete and details api 发出请求。对于两者,我都使用 session token 免费使用自动完成 api,但我没有在 Google 报告中看到 Autocomplete(包含在 Places Details 中)SKU。我一周前开始使用它,我看到的只是 SKU:不带地点详细信息的自动完成 – 每个 session

在我的代码中,在对详细信息 api 发出请求后,我生成了一个新的版本 4 UUID 兼容 session token 。我遵循文档中的指导方针:

The workflow

所以我正在做那件事。但我没有在报告中看到 Autocomplete(包含在地点详情中)。我相信已经打了很多电话。知道为什么会这样吗?

注意:我使用 place_id 参数而不是 placeid 参数调用细节,这也有效。我不认为这是原因,但无论如何......

我正在使用此函数生成 session token :

var UUID = (function() {
var self = {};
var lut = [];
for (var i=0; i<256; i++) { lut[i] = (i<16?'0':'')+(i).toString(16); }
self.generate = function() {
var d0 = Math.random()*0xffffffff|0;
var d1 = Math.random()*0xffffffff|0;
var d2 = Math.random()*0xffffffff|0;
var d3 = Math.random()*0xffffffff|0;
return lut[d0&0xff]+lut[d0>>8&0xff]+lut[d0>>16&0xff]+lut[d0>>24&0xff]+'-'+
lut[d1&0xff]+lut[d1>>8&0xff]+'-'+lut[d1>>16&0x0f|0x40]+lut[d1>>24&0xff]+'-'+
lut[d2&0x3f|0x80]+lut[d2>>8&0xff]+'-'+lut[d2>>16&0xff]+lut[d2>>24&0xff]+
lut[d3&0xff]+lut[d3>>8&0xff]+lut[d3>>16&0xff]+lut[d3>>24&0xff];
}
return self;
})();

它以如下格式输出字符串:a28cf301-d8fd-4ebd-ac25-a94a37113b6c

我正在使用传单控件来发出请求。

每次输入一个字母时都会调用以下函数:

// Places Autocomplete call
autocomplete: function(e) {
var mapCenter = this._map.getCenter();
var url = this.options.url + '/autocomplete?' +
'input=' + this.input.value + '&' +
'location=' + mapCenter.lat + ',' + mapCenter.lng;

if (this.options.useSessions) {
url += '&sessiontoken=' + this.sessionToken;
}

var geocoder = this;

$.get(url, function(data, status) {
if (data === undefined || data.status !== 'OK') {
return;
}

// Use predictions to populate a list
});
},

该函数用预测填充一个列表,并将点击事件监听器添加到每个列表项。单击某个项目时,将调用以下函数。

// Place Details request
focusSelected: function(e) {
var url = this.options.url + '/details?' +
'place_id=' + e.target.place_id;

if (this.options.useSessions) {
url += '&sessiontoken=' + this.sessionToken;
this.sessionToken = UUID.generate(); // This creates a new token
}

var geocoder = this;
$.get(url, function(data, status) {
if (data === undefined || data.status !== 'OK') {
return;
}

// Use result

});
},

我还在每次调用中设置 API key 。别介意这个。

最佳答案

如果您没有在 session 开始后的几分钟内完成Places Details请求,您将看到Autocomplete without Places Details – Per Session

文档

https://developers.google.com/maps/billing/understanding-cost-of-use#ac-no-details-session

关于web-services - Google Places Autocomplete(包含在 Places Details 中)使用 session token 时不会触发 SKU,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53345848/

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