gpt4 book ai didi

google-maps-api-3 - 谷歌地图自动完成 : output only address without country and city

转载 作者:行者123 更新时间:2023-12-04 15:14:23 26 4
gpt4 key购买 nike

我用 Places library自动完成地址输入。搜索仅限于一个城市,我得到这样的输出:

"Rossiya, Moskva, Leninskiy prospekt 28"

如何隐藏“Rossiya,Moskva”? ...

我的查询:

function() {
// Search bounds
var p1 = new google.maps.LatLng(54.686534, 35.463867);
var p2 = new google.maps.LatLng(56.926993, 39.506836);
self.options = {
bounds : new google.maps.LatLngBounds(p1, p2),
componentRestrictions: {country: 'ru'},
};

var elements = document.querySelectorAll('.address');

for ( var i = 0; i < elements.length; i++) {
var autocomplete = new google.maps.places.Autocomplete(elements[i],
self.options);
}

最佳答案

您可以,但您必须在两个地方替换输入字段的值。
例子:

var autocomplete = new google.maps.places.Autocomplete(input, placesOptions);
var input = document.getElementById('searchTextField');

在“place_changed”事件中,您执行以下操作:
placeResult = autocomplete.getPlace();
//This will get only the address
input.value = placeResult.name;

这会将 searchtextfield 中的值更改为街道。

第二个地方有点棘手:
input.addEventListener('blur', function(){
// timeoutfunction allows to force the autocomplete field to only display the street name.
if(placeResult){ setTimeout(function(){ input.value = placeResult.name; }, 1); }

我们必须这样做的原因是,如果您只添加事件监听器进行模糊处理,谷歌地方将使用完整地址填充输入文件,因此您必须“等待”谷歌更新,然后通过等待强制更改几毫秒。

在没有 setTimeout 函数的情况下尝试它,你会明白我的意思。

关于google-maps-api-3 - 谷歌地图自动完成 : output only address without country and city,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10125189/

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