视口和边界之间的区别在谷歌地理编码API中有什么区别?
对于大国(美国,俄罗斯),视口与界限不同(加拿大的样本请求:http://maps.googleapis.com/maps/api/geocode/xml?address = Canada&_sensor = false,但适用于较小的国家,地区和城市他们是平等的.
我找到了一种发送请求的方法:
Google Maps Geocoding API请求采用以下格式:
https://maps.googleapis.com/maps/api/geocode/outputFormat?parameters 其中outputFormat可以是以下值之一:
json(推荐)表示JavaScript Object Notation(JSON)中的输出; 或xml表示XML格式的输出要通过HTTP访问Google Maps Geocoding API,请使用:
但它真的很不方便,有什么本地方式在swift?
我查看了GMSGeocoder接口,只能通过它的API完成反向地理编码.
我正在使用 go 来使用 google 地图地理编码 API,但我不断收到此错误:
The HTTP request failed with error Get https://maps.googleapis.com /maps/api/geocode/json?address=Bangalore&key=KEY: http: server gave HTTP response to HTTPS client
Run Code Online (Sandbox Code Playgroud)
错误中的网址在我的浏览器中工作正常并给出适当的响应,但不会在下面的代码片段中给出我想要的内容:
package main
import(
"fmt"
"io/ioutil"
"net/http"
)
func main() {
key := "mysecretkey"
location := "Bangalore"
url := "https://maps.googleapis.com/maps/api/geocode/json?address="+location+"&key="+key
fmt.Println("Starting the application...")
response, err := http.Get(url)
if err!=nil{
fmt.Printf("The HTTP request failed with error %s\n", err)
}else {
data, _ := ioutil.ReadAll(response.Body)
fmt.Println(string(data))
}
}
Run Code Online (Sandbox Code Playgroud) 我在这个网站上找到了从邮政编码中获取状态的代码,但我还需要获取城市名称.
这是我获取状态的代码:(注意我也使用jQuery)
var geocoder = new google.maps.Geocoder();
$('.zip').bind('change focusout', function () {
var $this = $(this);
if ($this.val().length == 5) {
geocoder.geocode({ 'address': $this.val() }, function (result, status) {
var state = "N/A";
//start loop to get state from zip
for (var component in result[0]['address_components']) {
for (var i in result[0]['address_components'][component]['types']) {
if (result[0]['address_components'][component]['types'][i] == "administrative_area_level_1") {
state = result[0]['address_components'][component]['short_name'];
// do stuff with the state here!
$this.closest('tr').find('select').val(state);
}
}
}
});
}
});
Run Code Online (Sandbox Code Playgroud) 我使用net/http并json进行地理编码使用谷歌的地理编码API的地址.这是抛出错误的地方:
response = Net::HTTP.get_response(URI.parse(url))
result = JSON.parse(response)
Run Code Online (Sandbox Code Playgroud)
响应是Net :: HTTPOK类,但我想访问实际的JSON响应数据(而不仅仅是状态代码).
我试图弄清楚如何使用类Android.location.Address获取Android SDK的地址组件.
有些方法非常简单,其他方法很容易通过文档中的示例来理解,但其中一些方法对我来说完全不清楚.要么是因为文档中没有示例,要么因为该示例涉及的美国与其他国家可能没有相同的政治组织.
我一直在寻找他们的意思,但网上的大多数教程只是使用该方法getAddressLine(int index)进行教学,然后由开发人员来学习其余的.
getAdminArea():返回州首字母缩略词("CA",加州)getCountryCode():返回国家ISO代码("JP",日本)getCountryName():返回国家名称("西班牙",代表...西班牙)getFeatureName():返回该位置的名称(如果有的话)(博物馆的"卢浮宫")getLocality():返回城市名称("伦敦")getPostalCode():返回邮政编码("94110",在美国)getPremises():???getSubAdminArea():???getSubLocality():???getSubThoroughfare():???getThoroughfare():返回街道和建筑物编号("1600 Amphitheatre Parkway")我的问题是所有这些方法返回的内容(以及示例,如果可能的话).
另外,我想知道如何分别获得建筑物编号和街道名称.解析Thoroughfare字符串似乎并不那么难,但考虑到在某些国家,这个数字出现在街道之前,而其他国家出现后,解析文本的最佳方法是什么?
在我的应用程序中,我需要使用地理编码,但我不太清楚该使用哪种方法。直到昨天,我向 URL 添加了参数maps.googleapis.com/maps/api/geocode/json?address=myparameter&sensor=false,但 Google 阻止了我的请求一天,导致应用程序崩溃,因为它没有从地理编码请求返回任何结果。
现在我正在使用Geocoder执行相同操作的类,并且我还看到您可以创建和使用 API 密钥进行地理编码。
您建议使用哪种方法?除了请求的限制之外,这两种方法有什么区别?
我正在使用 Google 的地理编码 API。我有两种方法,一种有效,另一种无效,我似乎无法弄清楚为什么:
string address = "1400,Copenhagen,DK";
string GoogleMapsAPIurl = "https://maps.googleapis.com/maps/api/geocode/json?address={0}&key={1}";
string GoogleMapsAPIkey = "MYSECRETAPIKEY";
string requestUri = string.Format(GoogleMapsAPIurl, address.Trim(), GoogleMapsAPIkey);
// Works fine
using (var client = new HttpClient())
{
using (HttpResponseMessage response = await client.GetAsync(requestUri))
{
var responseContent = response.Content.ReadAsStringAsync().Result;
response.EnsureSuccessStatusCode();
}
}
// Doesn't work
using (HttpClient client = new HttpClient())
{
client.BaseAddress = new Uri("https://maps.googleapis.com/maps/api/", UriKind.Absolute);
client.DefaultRequestHeaders.Add("key", GoogleMapsAPIkey);
using (HttpResponseMessage response = await client.GetAsync("geocode/json?address=1400,Copenhagen,DK"))
{
var responseContent = response.Content.ReadAsStringAsync().Result;
response.EnsureSuccessStatusCode();
}
}
Run Code Online (Sandbox Code Playgroud)
我发送查询字符串的最后一种方法GetAsync不起作用,我怀疑为什么会这样。当我 …
我想要做的是创建应用程序,当任何人点击地图对象时,两个字段在每次点击时都会填充纬度和经度.Google Maps V3 JavaScript API(地理编码API)的示例代码是否存在类似的内容?
javascript google-maps latitude-longitude google-maps-api-3 google-geocoding-api
我有很多例子,谷歌地图返回确切的位置,而地理编码找不到完全匹配,只提供一个匹配纬度/经度,这对我的目的没有好处.
例如:谷歌地图中的"1729国道8,奥本,IN 46706"将我完全放在沃尔玛配送中心上.
使用地理编码.....通过 http://gmaps-samples.googlecode.com/svn/trunk/geocoder/singlegeocode.html
或手动
距离几英里远的地方......
我不明白为什么差异,因为我将使用地理编码等表达MAP,并且许多例子在两者之间不匹配.我需要通过MAPS进行地理编码!
google-maps geocoding google-maps-api-3 google-geocoding-api