我有一些标准的谷歌地方自动完成代码,工作正常。我想在用户从列表中选择一个地址时修改结果。
例如,其中一个结果是
'45 Alexandra Road Holiday Flats,Alexandra Road,Southport,United Kingdom'
当用户从列表中选择它时,我希望在文本框中显示以下值
'45 Alexandra Road Holiday Flats,Alexandra Road,Southport,PR4 5JD'
即,我希望插入帖子/邮政编码并删除英国。
我可以在place_changed事件中执行此操作,post / zip代码可用,我可以执行一些字符串操作并获得我想要的结果。
然而,当我在'place_changed'函数末尾将它分配给txtBox时,会将其更改回原始选定值而不使用post / zip代码。这是最近因我的代码工作而发生变化的事情。值tclBox的赋值/绑定发生在现在看起来像place_changed事件之后。
var autoCompleteObject = new google.maps.places.Autocomplete(txtBox[0], GooglePlacesOptions);
// Autocomplete Listener
google.maps.event.addListener(autoCompleteObject, 'place_changed', function () {
var place = autoCompleteObject.getPlace();
txtBox.val('45 Alexandra Road Holiday Flats, Alexandra Road, Southport, PR4 5JD');
});
非常感谢任何有关如何实现这一目标的想法。
非常感谢,
标记
答案 0 :(得分:0)
我决定不使用自动完成功能,而是使用PlacesService.textSearch()。
非常简单,您可以更好地控制结果及其显示方式等。
所以问题仍然存在,但我的头脑不那么疼:)
答案 1 :(得分:0)
作为参考,我发现以下答案有助于作为一种有效的解决方法: show just the street address in google.maps.event.addListener()