Tag: 谷歌 地方 API

在尝试从Google Places API中提取城市时,为什么我的自动填充搜索function会冻结?

在我的网页基础模板中,我有JQuery,Google Places API,自动完成插件和JS代码的链接来调用该function。 $(function(){ $(“#searchBoxGlow”).geocomplete() }); 最后,我有一个搜索字段,我想自动填写城市名称 然而,它会冻结并显示感叹号,如此屏幕截图所示:

如何停止使用谷歌地方填充自动填充的地址

所以我在我的一个表格上有一个谷歌地图自动完成,当它到达一个地方时,它取代了地方并格式化它,以便所有正确的信息进入表格上的不同输入。 我遇到的问题是在’place_changed’事件触发自动完成之前填充输入。 我想防止这个初始人口,而是填充我想要的东西。 我尝试做一个改变事件,但它似乎没有正确启动。 这是我的代码: HTML: <input type="text" name="address1" value="1255 W Washington St" required="" class="form-control" id="id_address1" placeholder="Enter a location" autocomplete="var input = /** @type {HTMLInputElement} */( JS: document.getElementById(‘id_address1’)); var autocomplete = new google.maps.places.Autocomplete(input); google.maps.event.addDomListener(input, ‘keydown’, function(e) { if (e.keyCode == 13) { e.preventDefault(); console.log(‘enter’); } }); google.maps.event.addDomListener(input, ‘focusout’, function(e) { if ($(‘#id_address1’).val() != $(‘#id_address1’).attr(‘value’)){ $(‘#id_address1’).val($(‘#id_address1’).attr(‘value’)); […]

Places API不接受引用

我已经阅读了几乎所有涉及此问题的post。 大多数答案都是“使用Javascript API”。 我认为这不是一个有效的答案。 我正在尝试在Google的API控制台上设置引用,以便我可以在本地和我的开发服务器上进行测试。 这是来自Google API控制台的API密钥: 这是我的要求: Request URL:https://maps.googleapis.com/maps/api/place/autocomplete/json?input=a&sensor=false&key=AIzaSyABBKjubUcAk69Kijktx-XXXXXXXXXX Accept:*/* Origin:http://localhost:5000 Referer:http://localhost:5000/users/profile/edit/location/ User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.75 Safari/537.1 我得到了众所周知的错误: Origin http://localhost:5000 is not allowed by Access-Control-Allow-Origin. 我也试过“Any Referer”API密钥但没有成功。 为了允许这种AJAX调用,是不是设置了这个引用? 我正在Gunicorn服务器上运行Django应用程序,它可以与’5000’端口相关吗?

当文本输入其中一个选项的相同值时,触发Google商家信息自动填充位置已更改

我正在使用Google Places Autcomplete API和jQuery。 它的基本function正常。 我想要做的是,如果有人在自动完成中输入了与我希望选择的项目和要触发的place_changed事件的选项之一完全相同的内容。 这是因为我在需要触发的地方改变了监听器中的一些逻辑。 这个想法是,如果有人输入与自动完成选项之一完全相同的文本,那么它应该像有人点击该选项一样。 这是我尝试过的,其中userLocation是输入: $(“#userLocation”).keyup(function(e){ //if the text is at least 4 chars long if($(“#userLocation”).val().length > 4) { //iterate through each of the autocomplete options $(“.pac-item”).each(function(){ if($(this).text() == $(“#userLocation”).val() ) { //does not do what I need it to $(this).trigger(“place_changed”); } }); } }); 我也尝试用.trigger(“click”)替换trigger(“place_changed”) ,但无济于事。 有没有人这样做过? 任何人都可以建议另一种方法来尝试使这项工作? 任何建议将非常感谢,谢谢!

AngularJS – Google Place自动填充API密钥

我是使用Google API的新手,并一直试图找出如何使用Angular实现Places Autocomplete API。 我从来没有真正使用自动完成function。 我目前没有将jQuery库引入我的项目,但我相信我已经看到一些开发人员在使用element.autocomplete的指令中使用它。 我确实找到了可能有用的任何现有指令,我发现: https : //github.com/kuhnza/angular-google-places-autocomplete 根据文档设置后,我无法让它工作,我也没有看到我在哪里设置API密钥以使其首先运行。 我认为主要错误与API密钥有关,但我并不积极。 根据我的理解,Google的文档提到在拉取场所库时将API密钥作为key参数包含在内。 如果我在指令的文档中省略了键,我会得到MissingKeyMapError 。 如果我像Google所说的那样添加密钥,我会得到ApiNotActivatedMapError 。 与此同时,Google还说我的API密钥是服务器API密钥,并且“此密钥应该在您的服务器上保密”。 拉入我引用的库的行是: 使用我的PHP后端或仅在浏览器中执行cURL请求可以为我提供结果。 所以现在我只想了解Autocomplete如何工作以及如何使用AngularJS。 所以,是的,我对这个话题感到有些困惑。 如果有人能指出我正确的方向或指出我可能会误解,那将是一个很大的帮助!

如何知道Google地方何时加载并准备好(异步)?

我在JQuery中异步加载谷歌地图和地点: var script = document.createElement(‘script’); script.type = ‘text/javascript’; script.src = “http://maps.google.com/maps/api/js?key=myKey&libraries=places&sensor=false&async=2&callback=MapApiLoaded”; document.body.appendChild(script); 加载Google地图时会调用回调: function MapApiLoaded() { var input = document.getElementById(‘searchField’); var options = { types: [‘(cities)’], }; autocomplete = new google.maps.places.Autocomplete(input, options); google.maps.event.addListener(autocomplete, ‘place_changed’, function(event) { var item = autocomplete.getPlace(); // do some stuff } GMapsloaded = true; } 当我进入我的城市选择屏幕时,我首先检查是否已加载Google地图: if(!GMapsloaded) { alert(‘mapsnotloaded’); return; } […]

在Google Maps Places API中更改默认文字“输入位置”

我一直在互联网上试图找到我的问题的答案,我找到答案的最接近的是另一个Stack Overflow问题,这里: 我如何更改Google Maps API地方自动填充中的默认文本 问题是OP要么与我自己没有完全相同的要求,要么他们没有明确说明他们是否这样做。 我正在寻找一种在文本输入字段中采用默认“输入位置”的方法,并在保持相同function的同时将其替换为其他内容。 即,文本在焦点上消失,如果没有输入文本,则在失去焦点时重新出现。 在我目前的尝试中,我试图使用jQuery插件替换文本。 它在页面加载时可视化,但单击时,会再次弹出“输入位置”,并在输入文本时消失,或者输入失去焦点(而不是文本输入字段按预期变为空白)。 谁能在这里给我一个指针? 提前致谢。

如何清除绑定到Google商家信息自动填充function的输入?

以下是我的问题:我正在使用Google地方信息自动填充function从用户那里收集有关地点的信息。 在事件“place_changed”上,我保存了这些信息。 但是我希望为用户提供添加多个位置的可能性。 所以在这个地方保存之后我想清除输入。 但是,Google自动填充会自动替换输入字段中的最后一个条目。 无论如何摆脱那个? 细节 : var inputDiv = $(‘#myinput’); var options = { types: [‘(cities)’] }; var autocomplete = new google.maps.places.Autocomplete(inputDiv[0], options); google.maps.event.addListener(autocomplete, ‘place_changed’, function() { var places = autocomplete.getPlace(); savePlaces(places); console.log(inputDiv.val()); // ‘Paris, France’ inputDiv.val(”); console.log(inputDiv.val()); // (an empty string) setTimeout(function() { console.log(inputDiv.val()); // ‘Paris, France’ (It’s back!) inputDiv.val(”); console.log(inputDiv.val()); // […]

尝试将Google Places API与JQuery的getJSON函数一起使用

这可能是非常基本的,但我正在尝试测试Google Places API。 我正在浏览文档并使用它们提供的一些示例。 我正在尝试使用JQuery getJSON函数,因为我已经能够成功地使用它来异步访问外部JSON文件,所以我认为这可能是获取Google Places查询的JSON结果的好方法。 这是我正在尝试使用的代码: var requestURL = ‘https://maps.googleapis.com/maps/api/place/search/json?location=-33.8670522,151.1957362&radius=500&types=food&name=harbour&sensor=false&key=’my_google_places_key’; $(document).ready(function () { $.getJSON(requestURL, function (data) { for (i = 0; i < data.results.length; i++) { myAddress[i] = data.results[i].formatted_address; document.getElementById("message").innerHTML += myAddress[i] + "”; console.log(myAddress[i]); } }); }); 根据文档,对查询的结果JSON响应应如下所示: { “html_attributions” : [ “Listings by \u003ca href=\”http://www.yellowpages.com.au/\”\u003eYellow Pages\u003c/a\u003e” ], “results” : [ { […]

使用jQuery查询Google Places API

Google Places API现已普遍推出。 我试图在jQuery中使用.ajax()调用来调用Google Places。 我一直回来的错误是Uncaught SyntaxError:意外的令牌: 我正在使用jQuery 1.5.2。 我也尝试了1.5.1,但结果相同。 如果我能提供帮助,我宁愿不转向1.6.1。 从那以后我就把这样的ajax调用到其他API,但是我在使用Google Places时遇到了麻烦。 以下是您可以使用的基本代码示例。 您需要在Google控制台上提供自己的密钥(https://code.google.com/apis/console) jQuery.noConflict(); jQuery(document).ready(function(){ var url = ‘https://maps.googleapis.com/maps/api/place/search/json’; jQuery.ajax({ url: url, dataType: ‘jsonp’, type: ‘GET’, data: { location: ‘33.787794,-117.853111’, radius: 1000, name: ‘coffee’, key: ‘your_key’, // add your key here sensor: ‘false’ }, // on success success: function(data, textStatus, jqXHR){ console.log(data); }, […]