- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在开发 GPS 应用程序,我需要根据某个地方的经度和纬度来确定位置。我能够确定经度和纬度以及位置,但我得到的是 google maps api 调用的结果json 格式,其中有很多数据以及城市名称。
我这样做了。(我正在使用模拟器,所以我已经通过了固定的纬度和经度)
NSString *urlString = [NSString stringWithFormat:@"http://maps.googleapis.com/maps/api/geocode/json?latlng=%f,%f&sensor=false",30.819297, 76.444017];
NSError* error;
NSString *locationString = [NSString stringWithContentsOfURL:[NSURL URLWithString:urlString] encoding:NSASCIIStringEncoding error:&error];
locationString = [locationString stringByReplacingOccurrencesOfString:@"\"" withString:@""];
NSLog(@"%@",locationString );
我得到的输出字符串是
015-04-16 10:38:45.056 demolocationapp[690:12005] {
results : [
{
address_components : [
{
long_name : Rauni Kalan Link Road,
short_name : Rauni Kalan Link Rd,
types : [ route ]
},
{
**long_name : Rauni Kalan,
short_name : Rauni Kalan,
types : [ locality, political]**
},
{
long_name : Rupnagar,
short_name : Rupnagar,
types : [ administrative_area_level_2, political ]
},
{
long_name : Punjab,
short_name : PB,
types : [ administrative_area_level_1, political ]
},
{
long_name : India,
short_name : IN,
types : [ country, political ]
},
{
long_name : 140102,
short_name : 140102,
types : [ postal_code ]
}
],
formatted_address : Rauni Kalan Link Road, Rauni Kalan, Punjab 140102, India,
geometry : {
bounds : {
northeast : {
lat : 30.8209903,
lng : 76.4550081
},
southwest : {
lat : 30.8178417,
lng : 76.44540219999999
}
},
location : {
lat : 30.8186057,
lng : 76.4507395
},
location_type : APPROXIMATE,
viewport : {
northeast : {
lat : 30.8209903,
lng : 76.4550081
},
southwest : {
lat : 30.8178417,
lng : 76.44540219999999
}
}
},
place_id : ChIJc8IoHwICEDkR38Ie5TOeGu0,
types : [ route ]
},
{
address_components : [
{
long_name : Rauni Kalan,
short_name : Rauni Kalan,
types : [ locality, political ]
},
{
long_name : Rupnagar,
short_name : Rupnagar,
types : [ administrative_area_level_2, political ]
},
{
long_name : Punjab,
short_name : PB,
types : [ administrative_area_level_1, political ]
},
{
long_name : India,
short_name : IN,
types : [ country, political ]
},
{
long_name : 140102,
short_name : 140102,
types : [ postal_code ]
}
],
formatted_address : Rauni Kalan, Punjab 140102, India,
geometry : {
bounds : {
northeast : {
lat : 30.8219531,
lng : 76.4462614
},
southwest : {
lat : 30.81705139999999,
lng : 76.4414979
}
},
location : {
lat : 30.8192965,
lng : 76.44401660000001
},
location_type : APPROXIMATE,
viewport : {
northeast : {
lat : 30.8219531,
lng : 76.4462614
},
southwest : {
lat : 30.81705139999999,
lng : 76.4414979
}
}
},
place_id : ChIJ_f1PWh0CEDkRKlzFwhc62zo,
types : [ locality, political ]
},
{
address_components : [
{
long_name : 140102,
short_name : 140102,
types : [ postal_code ]
},
{
long_name : Punjab,
short_name : PB,
types : [ administrative_area_level_1, political ]
},
{
long_name : India,
short_name : IN,
types : [ country, political ]
}
],
formatted_address : Punjab 140102, India,
geometry : {
bounds : {
northeast : {
lat : 30.869706,
lng : 76.47508049999999
},
southwest : {
lat : 30.7970006,
lng : 76.3335855
}
},
location : {
lat : 30.8288892,
lng : 76.4215988
},
location_type : APPROXIMATE,
viewport : {
northeast : {
lat : 30.869706,
lng : 76.47508049999999
},
southwest : {
lat : 30.7970006,
lng : 76.3335855
}
}
},
place_id : ChIJHX2_rA0BEDkR_QslHcc_M0g,
types : [ postal_code ]
},
{
address_components : [
{
long_name : Fatehgarh Sahib,
short_name : Fatehgarh Sahib,
types : [ administrative_area_level_2, political ]
},
{
long_name : Punjab,
short_name : PB,
types : [ administrative_area_level_1, political ]
},
{
long_name : India,
short_name : IN,
types : [ country, political ]
}
],
formatted_address : Fatehgarh Sahib, Punjab, India,
geometry : {
bounds : {
northeast : {
lat : 30.8779699,
lng : 76.63427999999999
},
southwest : {
lat : 30.4275501,
lng : 76.0761799
}
},
location : {
lat : 30.6810924,
lng : 76.4100267
},
location_type : APPROXIMATE,
viewport : {
northeast : {
lat : 30.8779699,
lng : 76.63427999999999
},
southwest : {
lat : 30.4275501,
lng : 76.0761799
}
}
},
place_id : ChIJqf6CHWocEDkR4EljDGd5be8,
types : [ administrative_area_level_2, political ]
},
{
address_components : [
{
long_name : Punjab,
short_name : PB,
types : [ administrative_area_level_1, political ]
},
{
long_name : India,
short_name : IN,
types : [ country, political ]
}
],
formatted_address : Punjab, India,
geometry : {
bounds : {
northeast : {
lat : 32.4981352,
lng : 76.92175809999999
},
southwest : {
lat : 29.537147,
lng : 73.8708879
}
},
location : {
lat : 31.1471305,
lng : 75.34121789999999
},
location_type : APPROXIMATE,
viewport : {
northeast : {
lat : 32.4981352,
lng : 76.92175809999999
},
southwest : {
lat : 29.537147,
lng : 73.8708879
}
}
},
place_id : ChIJVXOeVqpkGTkRYYijAzEmvY8,
types : [ administrative_area_level_1, political ]
},
{
address_components : [
{
long_name : India,
short_name : IN,
types : [ country, political ]
}
],
formatted_address : India,
geometry : {
bounds : {
northeast : {
lat : 35.5087008,
lng : 97.395561
},
southwest : {
lat : 6.7535159,
lng : 68.162386
}
},
location : {
lat : 20.593684,
lng : 78.96288
},
location_type : APPROXIMATE,
viewport : {
northeast : {
lat : 35.5087008,
lng : 97.395561
},
southwest : {
lat : 6.7535159,
lng : 68.16288519999999
}
}
},
place_id : ChIJkbeSa_BfYzARphNChaFPjNc,
types : [ country, political ]
}
],
status : OK
}
我已将我的必需数据放在 type 是 locality,political 的地方,在 **Required Text **
我怎样才能得到它
最佳答案
用过这个方法
NSURL *url = [NSURL URLWithString:[NSString stringWithFormat: @"http://maps.googleapis.com/maps/api/geocode/json?latlng=%f,%f&sensor=false",30.819297, 76.444017]];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) {
if (!error)
{
NSDictionary *json = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];
NSArray *arr=[[json valueForKeyPath:@"results.address_components"] objectAtIndex:0];
for (NSDictionary *dictAddress in arr)
{
if ([[dictAddress objectForKey:@"types"] count] > 0)
{
if([[[dictAddress objectForKey:@"types"] objectAtIndex:0] isEqualToString:@"locality"])
{
return [dictAddress objectForKey:@"long_name"];
}
else if([[[dictAddress objectForKey:@"types"] objectAtIndex:0] isEqualToString:@"political"])
{
return [dictAddress objectForKey:@"long_name"];
}
}
else
{
return @"";
}
}
return @"";
}
}
}];
使用此方法,您将找到类型以“locality”或“political”开头的区域名称。
但是我已经获取了 api 响应的第一个对象,但是如果您需要的不是这个,那么请循环获取调用的 json 对象。
希望对您有所帮助。
关于ios - 在 IOS 中从 google map place api 中提取需要信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29665907/
我正在做一个业余爱好项目,使用 Ruby、PHP 或 Java 来抓取 ASP.net 网站的内容。例如,如果网站 url“www.myaspnet.com/home.aspx”。我想从 home.a
如果我有这些字符串: mystrings <- c("X2/D2/F4", "X10/D9/F4", "X3/D22/F4",
我有以下数据集 > head(names$SAMPLE_ID) [1] "Bacteria|Proteobacteria|Gammaproteobacteria|Pseudomonadales|Mor
设置: 3个域类A,B和C。A和B在插件中。 C在依赖于此插件的应用程序中。 class A{ B b static mapping = { b fetch: 'joi
我不知道如何提取 XML 文件中的开始标记元素名称。我很接近〜意味着没有错误,我正在获取标签名称,但我正在获取标签名称加上信息。我得到的是: {http://www.publishing.org}au
我有一个字符串 x <- "Name of the Student? Michael Sneider" 我想从中提取“Michael Sneider”。 我用过: str_extract_all(x,
我有一个如下所示的文本文件: [* content I want *] [ more content ] 我想读取该文件并能够提取我想要的内容。我能做的最好的事情如下,但它会返回 [更多内容] 请注意
假设我有一个项目集合 $collection = array( 'item1' => array( 'post' => $post, 'ca
我正在寻找一种过滤文本文件的方法。我有许多文件夹名称,其中包含许多文本文件,文本文件有几个没有人员,每个人员有 10 个群集/组(我在这里只显示了 3 个)。但是每个组/簇可能包含几个原语(我在这里展
我已经编写了一个从某个网页中提取网址的代码,我面临的问题是它不会以网页上相同的方式提取网址,我的意思是如果该网址位于某些网页中法语,它不会按原样提取它。我该如何解决这个问题? import reque
如何在 C# 中提取 ZipFile?(ZipFile 是包含文件和目录) 最佳答案 为此使用工具。类似于 SharpZip .据我所知 - .NET 不支持开箱即用的 ZIP 文件。 来自 here
我有一个表达: [training_width]:lofmimics 我要提取[]之间的内容,在上面的例子中我要 training_width 我试过以下方法: QRegularExpression
我正在尝试创建一个 Bash 脚本,该脚本将从命令行给出的最后一个参数提取到一个变量中以供其他地方使用。这是我正在处理的脚本: #!/bin/bash # compact - archive and
我正在寻找一个 JavaScript 函数/正则表达式来从 URI 中提取 *.com...(在客户端完成) 它应该适用于以下情况: siphone.com = siphone.com qwr.sip
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 8 年前。 Improve this qu
编辑:添加了实际的 JSON 对象和代码以供审查 我有这种格式的 JSON(只是这种层次结构,假设 JSON 正常工作) {u'kind': u'calendar#events', u'default
我已经编写了代码来使用 BeautifulSoup 提取一本书的 url 和标题来自页面。 但它并没有在 > 之间提取惊人的 super 科学故事 1930 年 4 月这本书的名字。和 标签。 如何提
使用 Java,我想提取美元符号 $ 之间的单词。 例如: String = " this is first attribute $color$. this is the second attribu
您好,我正在尝试找到一种方法来确定字符串中的常量,然后提取该常量左侧的一定数量的字符。 例如-我有一个 .txt 文件,在那个文件的某处有数字 00nnn 数字的例子是 00234 00765 ...
php读取zip文件(删除文件,提取文件,增加文件)实例 从zip压缩文件中提取文件 复制代码 代码如下: <?php /* php 从zip压缩文件
我是一名优秀的程序员,十分优秀!