我正在一个php项目中,我想从指定位置查找并存储100公里范围内的3个城市到我的数据库中。我当时正在为此考虑Google API地理编码。我不确定是否可以使用它。但是我在“条款和条件”页面上找到了针对Geocoding API的行,
地理编码API只能与Google地图结合使用;禁止对结果进行地理编码而不在地图上显示结果。
这是什么意思?我可以使用API提取城市吗?有人知道吗?
当我的网站用户输入地址时,他经常这样做:
street_number street what_he_thinks_is_the_locality
Run Code Online (Sandbox Code Playgroud)
当我存储或显示它时,我需要更好地显示它:
street_number street, true_locality
Run Code Online (Sandbox Code Playgroud)
我使用地理编码器服务来提取地址组件,以便我可以正确格式化它.我依靠组件的类型来查找位置,我希望"locality","sublocality"或"administrative_area_level_3".但今天我看到一个用户输入一个地址,并且该地点作为{"邻居","政治"}类型返回.
邻居究竟是什么?什么时候回来?是否返回是因为谷歌API检测到用户在结果的某个"附近位置"?返回此类型时,是否应包含下一个地址组件以消除所有歧义?
谢谢
我已经建立了一个系统,使用http://www.rubygeocoder.com/计算两个位置之间的距离 ,但是,为了能够计算我需要的(免税)公里成本(例如旅行补偿)通过道路获得距离,例如使用Google.
这怎么做得最好?
我正在使用 python 使用 Google App Engine 编写一个应用程序,并将一个大型维基百科列表转换为电子表格,然后将列表行输入到位置中。例如:http: //en.wikipedia.org/wiki/List_of_North_Carolina_state_parks,我需要将每个公园的名称转换为地址,我想它们不会准确,但只要它们几乎正确就可以了跟我一起好吧。
有什么办法可以在服务器端使用 python 来做到这一点吗?我知道 Google 的地理编码服务,但它都是用 javascript 完成的,而且速率有限。
有什么服务可以做到这一点吗?
更新:geopy 正是我所寻找的。我想知道处理多个结果的最佳方法是什么。这是我的尝试:
try:
place, (lat, lng) = g.geocode(title+", North Carolina")
except ValueError:
geocodespot = g.geocode(title+", North Carolina", exactly_one=False)
place, (lat, lng) = geocodespot[0]
Run Code Online (Sandbox Code Playgroud)
它工作得很好,但我想知道是否有更好的想法。
我有一个JSON:http://maps.googleapis.com/maps/api/geocode/json ? latlng = 49,19& _sensor = false
我只需要获得国家的short_name.(对于这个例子'SK').因此,我得到属性"types"包含["country","political"]的short_name.
我有...
data.results[0].address_components
Run Code Online (Sandbox Code Playgroud)
谢谢.
我已经看到几个关于获取用户认为正确的地址的ZERO_RESULTS的问题,这些问题通过纠正使用错误(例如,无法对地址进行urlencode)或通过将地址调整为谷歌期望的表格来解决(例如拼写出来) "street"而不是使用含糊不清的缩写"st").
但是我看到了几个地址,我的原始表单在网上被maps.google.com更正,然后正确显示地图上的位置.但是,将修正后的形式提供给地理编码API仍然会获得ZERO_RESULTS.
我通过下面的例子通过反复试验找到了删除城镇名称(吉尔福德),只留下邮政城镇(克雷加文),允许它地理编码到街道地址.在更正用户输入时,谷歌地图Web应用程序包括城镇(并更正其拼写).并且地理编码结果中的"formatted_address"字段实际上将城镇添加回(作为"地点").但是在地理编码的输入地址中存在城镇会导致它找不到任何结果.有谁能解释一下?这是关于英国地址的特别之处吗?Google的文档中是否有可能解释此行为的内容?
这是一个具体的例子:
原始地址:30 Drumnascumph Rd,Guildford,Craigavon,United Kingdom,BT63 6DU
地图更正为:30 Drumnascamph Road,Gilford,Craigavon,United Kingdom,BT63 6DU
原始地址和更正地址都提供了与地理编码相同的结果:
{"results" : [], "status" : "ZERO_RESULTS" }
如果我更改已更正的表单只是为了删除城镇(地区),那么地理编码结果将更改为:
{
"results" : [
{
"address_components" : [
{
"long_name" : "30",
"short_name" : "30",
"types" : [ "street_number" ]
},
{
"long_name" : "Drumnascamph Road",
"short_name" : "Drumnascamph Rd",
"types" : [ "route" ]
},
{
"long_name" : "Gilford",
"short_name" : "Gilford",
"types" : [ "locality", "political" ]
},
{
"long_name" : "Craigavon", …Run Code Online (Sandbox Code Playgroud) google-maps google-maps-api-3 google-geocoder google-geocoding-api
我正在尝试使用xampp上的php从一长串文本中识别并提取任何输入地址位置(不限于US- SmartyStreet)。
我已经阅读了有关如何执行此操作的几个主题/库,这些主题/库围绕使用NLP,Google的Geocoding API和regex执行上述任务。这3个链接是一些合理的链接,可以帮助链接1,链接2,链接3 / GitHub库(似乎很有前途)。
但是,我不知道这些链接对实施是否有帮助?有人可以帮我吗?
当我从浏览器中获取Google Maps Geocoding API时,它正在运行,但不是来自我的PHP脚本.
工作:https://maps.google.com/maps/api/geocode/json?appens = false&key = AzazaSyDqIj_SXTf5Z5DgE_cvn5VF9h5NbuaiCbs&address = La%20P%C3%A9relle,%20Saint-Pierre-de-Chartreuse,%20France
退货:
{
"results" : [
{
"address_components" : [
{
"long_name" : "La Pérelle",
"short_name" : "La Pérelle",
"types" : [ "colloquial_area", "political" ]
},
],
"formatted_address" : "La Pérelle, 38380, France",
// other stuffs
"partial_match" : true,
"place_id" : "ChIJZzDRRAX4ikcRnZ-vb1tnTgY",
"types" : [ "colloquial_area", "political" ]
}
],
"status" : "OK"
}
Run Code Online (Sandbox Code Playgroud)
不工作:
<?php
$url = 'https://maps.google.com/maps/api/geocode/json?sensor=false&key=AIzaSyDqIj_SXTf5Z5DgE_cvn5VF9h5NbuaiCbs&address=La%20P%C3%A9relle,%20Saint-Pierre-de-Chartreuse,%20France';
echo file_get_contents($url);
Run Code Online (Sandbox Code Playgroud)
返回:
{
"results" : …Run Code Online (Sandbox Code Playgroud) 我正在使用google javascript geocoder和short_name for state以前是正确的,即short_name:"nh",long_name:"New Hampshire".我现在注意到我正在为long_name和short_name看到"New Hampshire".这是一个我需要更新的错误或改变的东西吗?
javascript google-maps google-maps-api-3 google-geocoding-api
我正在寻找每个人在哪里获得使用Google Maps Geocoding API的api密钥.我是否必须申请首要许可才能使用此API?或者某处的使用率较低?
有人能指出我正确的方向吗?