获取某个位置的当前新闻

Posted

技术标签:

【中文标题】获取某个位置的当前新闻【英文标题】:Get current news for a location 【发布时间】:2013-05-29 15:09:34 【问题描述】:

是否可以在 ios 应用程序中获取特定位置的当前新闻?是否有一些 api 可用,我可以将位置作为参数传递并获取该位置的新闻?

【问题讨论】:

取决于您所说的位置。你要国家?城市?,1公里以内的距离?等等。请多解释一下 @MostafaTorbjørnBerg :位置是地球城市/城镇的任何地方,但现在是国家或州。 google.com/search?q=local+news+api 【参考方案1】:

对于美国的本地新闻,您可以使用 Patch api,它可以让您获取有关邮政编码、州甚至社区的新闻。

以下是他们 API 页面中的一些示例:

邮政编码新闻

http://news-api.patch.com/v1.1/zipcodes/ZIP/stories?dev_key=key&sig=signature

一个州的新闻

http://news-api.patch.com/v1.1/states/state name/stories?dev_key=key&sig=signature

城市新闻

http://news-api.patch.com/v1.0/states/ca/cities/san%20francisco/stories?dev_key=key&sig=signature

使用 GPS 坐标的新闻

http://news-api.patch.com/v1.1/nearby/latitude,longitude/stories?dev_key=key&sig=signature

响应将包含大量元数据、标题、故事、附件,甚至返回新闻项目位置的 GPS 坐标,以及大量其他功能

现在的缺点是仅限美国,还有许多其他 API 可供您用于不同的国家/地区,例如 here's the BBC API 更新:现在已关闭

您可以从地点获取新闻数据,例如这个电话 http://api.bbcnews.appengine.co.uk/stories/uk 更新:这也关闭了。您可以改用their RSS feeds。

CNN 也有 news RSS feed 您可以在哪里获取有关许多位置的新闻的 RSS 数据

世界 非洲 美洲 亚洲 欧洲 中东 美国

我很确定还有很多其他 API,我最喜欢的 API 之一是 Ushahidi network

他们有一个公共 API,也有新闻项目的位置标签,你可以了解更多here

我认为这足以让您入门并向您展示开放 API 的可能性,如果您需要更多详细信息,请告诉我,如果您搜索正确,我敢肯定还有更多!

【讨论】:

【参考方案2】:

当您使用 Google News 之类的 API 或 Patch 中的 API 或任何其他 API 时。大多数不接受 GPS 位置进行搜索。他们需要一个合格的邮政编码或城市名称或其他人类可读的位置数据。

要找出用户当前所在的地址,您需要使用CLGeocoder 反向查找给定 GPS 坐标的地址。 可以这样做:

    CLGeocoder *geocoder = [[CLGeocoder alloc] init];
    [geoCoder reverseGeocodeLocation:cllocationToSearchForNews completionHandler: 
     ^(NSArray *placemarks, NSError *error) 

         //Get nearby address
         CLPlacemark *placemark = [placemarks objectAtIndex:0];

         //post of the placemark
         NSString *postalCode = placemark.postalCode;

         //String to hold address
         NSString *locatedAt = [[placemark.addressDictionary valueForKey:@"FormattedAddressLines"] componentsJoinedByString:@", "];


     ];

通过从 GPS 位置找出 CLPlacemark,您几乎可以从中获得所有地址信息: 名称属性

地址字典 ISO国家代码 国家 邮政编码 行政区 子管理区 地区 子区域 大道 subThoroughfare 地区

有了这些信息,您几乎可以查询每一个新闻 api。还有来自补丁的一个 here mostafa torbjorn berg 邮政编码的新闻

http://news-api.patch.com/v1.1/zipcodes/ZIP/stories?dev_key=key&sig=signature

一个州的新闻

http://news-api.patch.com/v1.1/states/state name/stories?dev_key=key&sig=signature

城市新闻

http://news-api.patch.com/v1.0/states/ca/cities/san%20francisco/stories?dev_key=key&sig=signature

使用 GPS 坐标的新闻

http://news-api.patch.com/v1.1/nearby/latitude,longitude/stories?dev_key=key&sig=signature

【讨论】:

【参考方案3】:

根据您的需要,您希望使用 Google News API 他们的版块供稿、他们的搜索供稿 google news

Google news rss

或必应新闻搜索。

Bing developer

【讨论】:

【参考方案4】:

首先获取您当前的 GPS 坐标。然后使用CLGeocoder Class Reference 的反向地理编码将坐标转换为街道地址。

一旦有了有效的街道地址,您就可以根据您所在的城市/城镇使用任意数量的新闻提要或新闻 API(太多而无法列出)。

【讨论】:

以上是关于获取某个位置的当前新闻的主要内容,如果未能解决你的问题,请参考以下文章

如何获取某个国家/地区的位置点取决于 Android 手机配置

在android的服务中获取重复的当前位置?

js怎么获取数组中元素的位置?

在android中每n分钟获取当前位置

如何使用 contentEditable 获取 iframe 中当前插入符号位置的像素偏移量

在 WebView 中获取文档位置?