我正在使用此处提出的问题的代码自动完成textview google places api description - > place_id.我更改了代码以将其添加到我的应用程序中.当我运行代码时,它在我运行代码时给出了以下响应
07-28 11:17:19.244: E/result(350): {"error_message":"This API project is not authorized to use this API. Please ensure that this API is activated in the APIs Console: Learn more: https:\/\/code.google.com\/apis\/console","predictions":[],"status":"REQUEST_DENIED"}
Run Code Online (Sandbox Code Playgroud)
我搜索了一些线程,并从下面的线程
我按照建议做了以下步骤.
Places API从控制台启用.Geocoding API从控制台启用.当我运行代码时,它仍然显示上面提到的错误.我是否需要从控制台启用任何其他API.
除此之外,地图工作得很好.如果您想知道这是我在清单中添加的api密钥.
<!-- Goolge Maps API Key Development mode -->
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="AIzaSyAbo3luzbyQTuuPLOyo_Ml***********" />
Run Code Online (Sandbox Code Playgroud)
我正在直接添加服务器密钥以请求URL,如下所示
private ArrayList<String> autocomplete(String input) {
ArrayList<String> resultList = null;
HttpURLConnection conn …Run Code Online (Sandbox Code Playgroud) android autocompletetextview google-geocoding-api google-places-api google-maps-android-api-2
我对网络开发和使用任何Google Services API都很陌生。
我知道我可以使用以下格式发送HTTP GET:http : //maps.googleapis.com/maps/api/geocode/json?address=CA
我正在阅读文档,似乎它只是在谈论HTTP GET请求:https : //developers.google.com/maps/web-services/overview
有没有人有将HTTP POST请求发送到Google Maps API的经验,或者只是不被接受?
我试图从Google地理位置API结果中仅获取县名.不幸的是,县并不总是在结果的同一地点,所以我需要通过识别键来抓住它administrative_area_level_2
这是我的电话:
$.getJSON( {
url : 'http://maps.googleapis.com/maps/api/geocode/json?latlng=' + position.coords.latitude + ',' + position.coords.longitude + '&sensor=true',
data : {
sensor : false
},
success : function( data, textStatus ) {
var county = data.results[0].address_components[4].long_name;
alert('County: ' + county);
}
});
Run Code Online (Sandbox Code Playgroud)
这适用于我所在的县,但不适用于其他县,因为address_components[4]并不总是县.然而,我确实注意到该县始终与之相关administrative_area_level_2
这是一个示例响应:
{
"results" : [
{
"address_components" : [
{
"long_name" : "Edge of Everglades Trail",
"short_name" : "Edge of Everglades Trail",
"types" : [ "route" ]
},
{
"long_name" : "Homestead",
"short_name" : "Homestead",
"types" …Run Code Online (Sandbox Code Playgroud) javascript google-maps google-maps-api-3 google-geocoder google-geocoding-api
因此,在收到我的回复后,我不断收到解析错误。有非法字符吗?
这是回应
[{"businessID": ChIJ49DlQ5NiwokRQ_noyKqlchQ,"latitude": 40.733038,"longitude":-73.6840691,"address":"1201
Jericho Turnpike, New Hyde Park","businessname":"SUBWAY®Restaurants"},{"businessID": ChIJZfl6R5NiwokRZo7PU4NPoMY
,"latitude": 40.7329359,"longitude":-73.684513,"address":"1113 Jericho Turnpike, New Hyde Park","businessname"
:"Gino's"},{"businessID": ChIJcbpnRJNiwokRrtbOKe7HQo0,"latitude": 40.733049,"longitude":-73.684006,"address"
:"1203 Jericho Turnpike, New Hyde Park","businessname":"Wong's Garden"},]
Run Code Online (Sandbox Code Playgroud)
这是我处理响应的函数。我肯定知道它在警报之前中断了,因为没有触发警报
var datad = $(msg).text();
console.log(datad);
var resultstring = datad.replace(',]',']');
var JsonParseData = JSON.parse(resultstring);
alert(JsonParseData); ///BREAKING BEFORE THIS LINE
Run Code Online (Sandbox Code Playgroud) 我们使用 Google Maps API,当用户输入 5 位邮政编码时,结果在绝大多数情况下都是正确的;它将输入视为邮政编码并根据该位置返回结果。
我们注意到的问题是,对某些邮政编码(42025 是我们的主要示例)的查询不会返回预期结果(肯塔基州本顿)。API 调用实际上返回“status”:“ZERO_RESULTS”。在maps.google.com上进行类似的搜索有时会产生积极的结果,但前提是肯塔基州本顿已经消耗了大部分视口。解决方法是在查询字符串中添加术语“zip”。
我的调查显示,失败的结果似乎使用了 5 位数字符串,就像街道地址一样,但什么也没找到。例如,对“42020”的查询最终会显示华盛顿特区附近的某个地址。
有人遇到过这个问题吗?对于如何解决这个问题有什么建议吗?
我正在使用以下代码,使用有效的API密钥,从Google Geocoder JS API获取经度和纬度:
<script async defer type="text/javascript"
src="http://maps.google.com/maps/api/js?key=[key]">
</script>
<script>
var geocoder = new google.maps.Geocoder();
var address = "1600 Amphitheatre Parkway, Mountain View, CA";
geocoder.geocode( { 'address': address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK)
{
console.log (results[0]);
// results[0].geometry.location.lat
// results[0].geometry.location.lng
}
else console.log(status, results);
});
</script>
Run Code Online (Sandbox Code Playgroud)
对Google服务器的查询工作正常,并带回结果.问题在于,无论我输入什么地址,location.lat都会返回_.E/this.lat()并location.lng返回_.E/this.lng().视口坐标很好,但实际的纬度和经度结果对我来说是无稽之谈.如果我将代码放入函数并将其作为回调传递,则会发生同样的事情.
以前有没有遇到过这个?有什么我想念的吗?我搜索时无法找到关于此问题的任何内容,这是我第一次使用API.
我尝试在 adnroid 上使用来自 google 的新地方 SDK
这是我用来启动意图的代码
我从这里得到了代码
https://developers.google.com/places/android-sdk/client-migration
它通过自动完成激发意图,但每次我写东西时它都会说:
E/Places:自动完成时出错:OVER_QUERY_LIMIT
我不明白我花了一整天的时间来做一些工作。我还尝试了按名称自动完成获取地点,但它只返回来自美国的结果。
你们中的开发者同事有没有做到这一点?我现在感到非常沮丧:)
if (!Places.isInitialized()) {
Places.initialize(getApplicationContext(), "YOUR_API_KEY");
}
// Set the fields to specify which types of place data to return.
List<Place.Field> fields = Arrays.asList(Place.Field.ID,
Place.Field.NAME);
// Start the autocomplete intent.
Intent intent = new Autocomplete.IntentBuilder(
AutocompleteActivityMode.FULLSCREEN, fields)
.build(this);
startActivityForResult(intent, AUTOCOMPLETE_REQUEST_CODE);
Run Code Online (Sandbox Code Playgroud)