gpt4 book ai didi

javascript - 获取 map 自动完成作为输入值

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

我正在使用 Google map 自动完成 API 来帮助选择输入字段的位置。问题是,如果我尝试获取要在 Firebase 或类似内容中使用的输入值,它只会保存我在选择自动完成之前输入的内容。请参阅此CodePen:https://codepen.io/Auzy/pen/KWRjNp?editors=1111我一直在使用下面的 console.log 来尝试反射(reflect)自动完成值。

用法非常基本,所以我很惊讶我没有看到更多这个问题。

HTML:

<div class="container">
<div class="form-group">
<label for="exampleInputPassword1">Address</label>
<input v-model="newPost.address" type="text" class="form-control" id="searchTextField" placeholder="Address">
</div>
<div class="place"></div>
</div>

JS

const searchInput = document.getElementById('searchTextField');
const autocomplete = new google.maps.places.Autocomplete(searchInput);

searchInput.addEventListener("change", () => {
setTimeout(function() {
let addr = searchInput.value;
let embed = "<label for='exampleInputPassword1'>Map Preview</label><iframe frameborder='0' scrolling='no' marginheight='0' marginwidth='0' src='https://maps.google.com/maps?&amp;q=" + encodeURIComponent(addr) + "&amp;output=embed'></iframe>";

$('.place').html(embed);
}, 200);
console.log(searchInput.value)

});

最佳答案

这有点棘手,因为 place 是一个对象,并且您看到的自动完成结果源自 Place 对象的属性。

因此,我为实现您想要做的事情所做的解决方法是组合两个地点属性 - place.nameplace.formatted_address。您可以找到full list here .

这是full demo我从Place Autocomplete sample from Google调整而来.

var place = autocomplete.getPlace();
var inputValue = place.name + " " + place.formatted_address;
console.log(inputValue);

示例自动完成演示

寻找:悉尼歌剧院

自动完成结果:威尔逊 parking 场 - 悉尼歌剧院,麦格理街,悉尼,新南威尔士州,澳大利亚

放置获得的输入值:威尔逊 parking 场 - 悉尼歌剧院 2 Macquarie St, Sydney NSW 2000, Australia

寻找:自由女神像

自动完成结果:自由女神像出发,纽约,纽约州,美国

放置获得的输入值:自由女神像出发纽约,NY 10004,美国

可以看到结果几乎一模一样。现在,您可以根据需要使用变量 inputValue(它是自动完成结果的几乎相同的副本)。希望这会有所帮助。

关于javascript - 获取 map 自动完成作为输入值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43100832/

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