【发布时间】:2016-01-11 00:00:55
【问题描述】:
我试图在我的 Siebel 应用程序中的一个文本字段上使用 Google API 实现地址自动完成功能。我不断收到错误“谷歌未定义”。我正在使用 jquery 以下是我的代码:
PhoneChangePR.prototype.BindData = function(a) {
SiebelAppFacade.PhoneChangePR.superclass.BindData.call(this, a);
$.getScript("http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js", function() {
console.log("Google maps successfully added");
});
$.getScript("http://maps.google.com/maps/api/js?sensor=false&libraries=places&language=en-AU", function() {
console.log("Second script loaded successfully");
});
var autocomplete = new google.maps.places.Autocomplete($("input[aria-labelledby=NewAddressLine1_Label]")[0], {});
google.maps.event.addListener(autocomplete, 'place_changed', function() {
var place = autocomplete.getPlace();
console.log(place.address_components);
});
请帮助。提前致谢。
【问题讨论】:
-
google not defined通常在地图 api js 未加载时发生。因此,请确保您正确加载脚本。 -
我从stackoverflow.com/questions/4061125/… 那里得到了解决方案。当我在一个在线平台上尝试时,它似乎有效。我所做的只是更改了元素的名称。
-
我很好奇你在用 jQuery 做什么......当你提到
$.getScript()时,你正在使用 jQuery,但是你正在加载http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js......但是那时您的页面中一定已经有 jQuery 可用!?
标签: jquery google-maps google-api siebel