$.getJSON("https://maps.googleapis.com/maps/api/place/autocomplete/json",{ input: input.term,sensor: false,types: 'establishment',location: '40.01496,-105.27029',radius: 10000,key: Config.googleplaceskey },function(places_response){ //Some other code. });
我在控制台中得到这个:
XMLHttpRequest无法加载https://maps.googleapis.com/maps/api/place/autocomplete/json?input=At\u0026amp;sensor=false\u0026amp;types=establishment\u0026amp;location=40.01496,-105.27029\u0026amp;radius=10000\u0026amp;key=AIzaSyDKzUgcLklQE_U5494vHq_SzrFakNHugaQ .来源http:// localhost:8086不允许Access-Control-Allow-Origin.
这是不是API不是什么意思?任何人都知道解决方法,或某种额外的参数,我可以发送,使其工作?
更新:
以下是此调用的api文档的链接.父文档实际上甚至有JavaScript JSON解析示例.真的很混乱,为什么这将在服务器端关闭.
http://code.google.com/apis/maps/documentation/places/autocomplete.html
解决方法
使用“Places API”而不是“Maps API”,此代码段将使用Google的返回数据填充我的表单元素(包括用于自动填充的输入).
/* Use google place API to auto complete the address field and populate form inputs */ function addressAutoComplete(){ var planAddress = document.getElementById('mps_planaddress'),planCity = document.getElementById('mps_plancity'),planCounty = document.getElementById('mps_plancounty'),planZip = document.getElementById('mps_planzip'),planSub = document.getElementById('mps_plansubdivision'),options = { componentRestrictions: {country: 'us'} }; autocomplete = new google.maps.places.Autocomplete(planAddress,options); // After the user selects the address google.maps.event.addListener(autocomplete,'place_changed',function() { planSub.focus(); var place = autocomplete.getPlace(); planAddress.value = place.name; planCity.value = place.address_components[2].long_name; planCounty.value = place.address_components[3].long_name; planZip.value = place.address_components[6].long_name; }); }
在“place_changed”的自动完成中放置一个监听器(他们从列表中选择一些内容),然后使用返回的数据填写输入.
所有这一切都列在Place Library Google page上.
原文地址:https://www.jb51.cc/ajax/153489.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。