您的位置:首页 > 编程语言 > Go语言

使用Google Geocoding API来进行关键字搜索,获取相关的地理位置信息

2011-08-26 15:14 1271 查看
原文链接:http://hi.baidu.com/smarthand/blog/item/0c9cf5ecea470ee2cf1b3e44.html

mapkit 中有一个MKReverseGeocoder的类,你如果你知道某地的经纬度,你可以通过这个来获得地点的更多信息

,如:国家、城市和街道名等。这个类使用的是google map的服务。

有reverseGeocoding,google同时也提供了google geocoing api的服务,如果我们想通过地名查询来获取这个地方的

更多信息,可以使用这个api。

它可以返回很多种格式的信息,如:json,xml,kml,csv等。方便用户根据需要来使用。

使用格式如下:
http://maps.google.com/maps/api/geocode/json?address=taiguo&sensor=true
返回的json:

{
"results" : [
{
"address_components" : [
{
"long_name" : "泰国",
"short_name" : "TH",
"types" : [ "country", "political" ]
}
],
"formatted_address" : "泰国",
"geometry" : {
"bounds" : {
"northeast" : {
"lat" : 20.4651430,
"lng" : 105.6368120
},
"southwest" : {
"lat" : 5.6127870,
"lng" : 97.3433960
}
},
"location" : {
"lat" : 15.8700320,
"lng" : 100.9925410
},
"location_type" : "APPROXIMATE",
"viewport" : {
"northeast" : {
"lat" : 21.28280940,
"lng" : 109.1883420
},
"southwest" : {
"lat" : 10.30798720,
"lng" : 92.796740
}
}
},
"types" : [ "country", "political" ]
}
],
"status" : "OK"
}

通过这个接口,我们也可以用mapkit framework编写自己的地点查询程序。

cocoa中我没有发现解析json的工具,可能了解的不太深吧,到网上找到一个叫stig-json-framework的工具,

可以使用这个很方便的把json解析成一个NSDictionary。

下载好这个工具,在需要使用json的文件里引用相应的头文件(我的是引用了JSON.h的文件)

然后使用如下代码将json解析成NSDictionary:

NSURL * url = [NSURL URLWithString:@"http://maps.google.com/maps/api/geocode/json?address=gulou&sensor=true"];
NSString *jsonString = [[NSString alloc] initWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil];
NSDictionary * jsonDic = [jsonString JSONValue];

这个获得的NSDictionary里有经纬度等各种信息,信息还是很全的,

接下来就可以根据需要编写程序代码了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐