使用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里有经纬度等各种信息,信息还是很全的,
接下来就可以根据需要编写程序代码了。
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里有经纬度等各种信息,信息还是很全的,
接下来就可以根据需要编写程序代码了。
相关文章推荐
- 使用Android原生的Api进行GPS定位获取位置信息
- mapkit中使用Google Geocoding API来进行搜索定位
- 从google的json接口获取地理位置信息的Java代码
- 利用google提供的API(JavaScript接口)获取网站访问者IP地理位置的代码详解
- 使用天地图进行定位,获取坐标位置及省市等信息
- C#使用百度API通过IP获取地理位置和坐标
- 使用Java调用ElasticSearch提供的相关API进行数据搜索完整实例演示
- Google的几个地理位置相关的API
- 利用HTML5中Geolocation获取地理位置调用Google Map API在Google Map上定位
- 通过基站信息(LAC,CID)调用google的json接口获取地理位置信息的Java代码
- 使用google进行关键字搜索的域名采集。
- 【Based Android】Location获取地理位置信息(中)Criteria类的简单使用
- 使用Java调用ElasticSearch提供的相关API进行数据搜索完整实例演示
- Windows下使用Java调用ElasticSearch提供的相关API进行数据搜索完整实例演示
- 使用html5定位经纬度然后用百度api获取城市等位置信息
- 使用VMware VSphere WebService SDK进行开发 (四)——获取集群(Cluster, ComputeResource)的相关信息
- 使用Java调用ElasticSearch提供的相关API进行数据搜索完整实例演示
- 使用Java调用ElasticSearch提供的相关API进行数据搜索完整实例演示
- 使用VMware VSphere WebService SDK进行开发 (四)——获取集群(Cluster, ComputeResource)的相关信息
- 在dragonboard 410c上使用python进行GPS报文解析获取位置信息