【发布时间】:2016-04-06 04:13:00
【问题描述】:
我正在尝试编写一个简单的代码来检查街道地址是否存在:
在我的第一次尝试中,我输入了写地址,它给了我正确的地址:
addr <- '2147 Newhall Street,Santa Clara,CA 95050'
url = paste('http://maps.google.com/maps/api/geocode/xml?address=', addr,'&sensor=false',sep='')
doc = xmlTreeParse(url)
root = xmlRoot(doc)
lat = xmlValue(root[['result']][['geometry']][['location']][['lat']])
long = xmlValue(root[['result']][['geometry']][['location']][['lng']])
lat
"37.3386004"
long
"-121.9405759"
但如果我写错了街道地址,它仍然会给我坐标:
addr <- 'xyz,Santa Clara,CA 95050' # set your address here
url = paste('http://maps.google.com/maps/api/geocode/xml?address=', addr,'&sensor=false',sep='')
doc = xmlTreeParse(url)
root = xmlRoot(doc)
lat = xmlValue(root[['result']][['geometry']][['location']][['lat']])
long = xmlValue(root[['result']][['geometry']][['location']][['lng']])
lat
"37.3539663"
long
"-121.9529992"
我确定上面的街道地址不存在,但我仍然得到一些坐标。如果没有有效的街道地址,我是否可以返回一个 NA 值或一些标志?
【问题讨论】:
标签: r google-maps geocoding