Google商家信息自动填充功能 - 修改结果

时间:2012-12-03 09:13:24

标签: javascript jquery google-maps-api-3 autocomplete

我有一些标准的谷歌地方自动完成代码,工作正常。我想在用户从列表中选择一个地址时修改结果。

例如,其中一个结果是

'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');

});

非常感谢任何有关如何实现这一目标的想法。

非常感谢,

标记

2 个答案:

答案 0 :(得分:0)

我决定不使用自动完成功能,而是使用PlacesService.textSearch()。

非常简单,您可以更好地控制结果及其显示方式等。

所以问题仍然存在,但我的头脑不那么疼:)

答案 1 :(得分:0)

作为参考,我发现以下答案有助于作为一种有效的解决方法: show just the street address in google.maps.event.addListener()