`
maozilee
  • 浏览: 252665 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

Google Local Search API ,本地地图搜索

阅读更多

Google 提供了一个基于javascript的本地搜索的API,我们可以通过这个API来嵌入到我们的应用程序中,实现搜索的功能。如javascrtip,Flash,java等。

此接口返回的数据为JSON格式的数据,可以方便进行解析。

Google Local Search API首页地址是:

http://code.google.com/intl/zh-CN/apis/maps/documentation/localsearch/index.html

以下是一个简单的例子:

<DOCTYPE html>
  <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
 <title>Google Search API Sample</title>
 <script src="http://www.google.com/jsapi?key=INSERT-YOUR-KEY"></script>
 <script type="text/javascript">
 // This code generates a "Raw Searcher" to handle search queries. The Raw Searcher requires
   // you to handle and draw the search results manually.
 google.load('search', '1');
 
 var localSearch;
 function searchComplete() {
 
 // Check that we got results
 document.getElementById('content').innerHTML = '';
 if (localSearch.results && localSearch.results.length > 0) {
 for (var i = 0; i < localSearch.results.length; i++) {
 
 // Create HTML elements for search results
 var p = document.createElement('p');
 var a = document.createElement('a');
 var b = document.createElement('b');
 var c = document.createElement('c');
 a.href = localSearch.results[i].url;
 a.innerHTML = localSearch.results[i].title;
 b.innerHTML = "<br>" +
 localSearch.results[i].streetAddress;
 c.innerHTML = "<br>" +
 localSearch.results[i].city + "," +
 localSearch.results[i].region;
 
 // Append search results to the HTML nodes
 p.appendChild(a);
 p.appendChild(b);
 p.appendChild(c);
 document.body.appendChild(p);
 }
 }
 }
 
 function onLoad() {
 
 // Create a LocalSearch instance.
 localSearch = new google.search.LocalSearch();
 
 // Set the Local Search center point
 localSearch.setCenterPoint("New York, NY");
 
 // Set searchComplete as the callback function when a search is complete. The
 // localSearch object will have results in it.
 localSearch.setSearchCompleteCallback(this, searchComplete, null);
 
 // Specify search quer(ies)
 localSearch.execute('coffee New York NY');
 
 // Include the required Google branding.
 // Note that getBranding is called on google.search.Search
 google.search.Search.getBranding('branding');
 }
 
 // Set a callback to call your code when the page loads
 google.setOnLoadCallback(onLoad);
 
 </script>
 </head>
 <body style="font-family: Arial;border: 0 none;">
 <div id="branding" style="float: left;"></div><br />
 <div id="content">Loading...</div>
 </body>
 </html>

 

 

其中最重要的是调用这个地址:

http://ajax.googleapis.com/ajax/services/search/local?v=1.0&q=Palm%20Springs%20CA

两个必须的参数如下:

v:版本号,如1.0

q:搜索的关键字

还有一些其它常可以用到的参数:

key:搜索的时候,需要验证的key值,这个你必须到google上去申请

sll:中心坐标,你可以指定一个坐标为中心进行搜索

rsz:每页显示几条数据,值为1-8,当然,每次搜索最大记录数为64

我们来看看常见的几种语言是如何来使用的:

 

使用Flash

var service:HTTPService = new HTTPService();
service.url = 'http://ajax.googleapis.com/ajax/services/search/local';
service.request.v = '1.0';
service.request.q = 'Palm%20Springs%20CA';
service.request.key = 'INSERT-YOUR-KEY';
service.resultFormat = 'text';
service.addEventListener(ResultEvent.RESULT, onServerResponse);
service.send();

private function onServerResponse(event:ResultEvent):void {
try {
var json:Object = JSON.decode(event.result as String);
// now have some fun with the results...
} catch(ignored:Error) {
}
}
 

使用Java

URL url = new URL("http://ajax.googleapis.com/ajax/services/search/local?" +
"v=1.0&q=barack%20obama&key=INSERT-YOUR-KEY&userip=INSERT-USER-IP");
URLConnection connection = url.openConnection();
connection.addRequestProperty("Referer", /* Enter the URL of your site here */);

String line;
StringBuilder builder = new StringBuilder();
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
while((line = reader.readLine()) != null) {
builder.append(line);
}

JSONObject json = new JSONObject(builder.toString());
// now have some fun with the results...
 

使用PHP

$url = "http://ajax.googleapis.com/ajax/services/search/local?" +
"v=1.0&q=barack%20obama&key=INSERT-YOUR-KEY&userip=INSERT-USER-IP";

// sendRequest
// note how referer is set manually
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_REFERER, /* Enter the URL of your site here */);
$body = curl_exec($ch);
curl_close($ch);

// now, process the JSON string
$json = json_decode($body);
// now have some fun with the results...
 

今天先介绍到这里,以后我会更详细的进行简介一下。

下面是我用Flex做的一个示例,结合了Google Map,支持关键字搜索,并可以导出结果。

再次申明,程序只用于学习使用,请不要用于商业 。需要安装Flash AIR

下载地址是:http://files.cnblogs.com/liongis/GMapLocalSearch.rar


 

 

本文转自:http://www.cnblogs.com/liongis/archive/2011/03/01/1967593.html

分享到:
评论

相关推荐

    Google (Local) Search API的简单使用介绍

    例如,`localSearch.setRestriction(google.search.Search.RESTRICT_TYPE, google.search.LocalSearch.TYPE_KMLONLY_RESULTS)` 将搜索限制为只返回 KML 和 geocode 结果,而不包括商业信息。 设置搜索范围可以通过 ...

    Google Map开发房产地图实例

    @import url("http://www.google.com/uds/solutions/localsearch/gmlocalsearch.css"); &lt;script type="text/javascript" src="http://maps.google....

    百度地图搜索功能的实现

    在本项目中,我们主要关注的是“百度地图搜索功能的实现”,这涉及到Web开发中的地图API集成、前端交互以及搜索算法的应用。以下是关于这个主题的详细知识点: 1. **百度地图API**:百度地图提供了丰富的JavaScript...

    localsearch

    LocalSearchControl 是 Google Maps JavaScript API 提供的一个控件,它允许用户直接在地图界面上进行本地搜索。通过输入关键词或选择类别,用户可以找到附近的地点和服务。该控件不仅提供了搜索功能,还能自动显示...

    Google地图API的理解和应用.pdf

    - **本地搜索(Localsearch)**:搜索附近的地点或商家。 - **地理位置编码(Geocoding)**:地址到经纬度坐标转换及反向转换。 - **路线规划(Directions)**:计算两点之间的最佳路线。 - **街景(Streetview)**:...

    Google Map Api和GOOGLE Search Api整合实现代码

    2. **Google Search API**:Google Local Search API(现已被Google Places API取代)用于搜索地理位置相关的数据,如餐馆、景点等。在这个例子中,API被用来根据经纬度获取附近的搜索结果。 3. **面向对象编程**:...

    Google API文档

    在Google Search 方面具有比较详细的描述,包括blog search,book search,image search,local search等。。。

    谷歌地图v3案例

    @import url("http://www.google.com/uds/solutions/localsearch/gmlocalsearch.css"); body { background-color: #E5E3DF; } --&gt; ; charset=utf-8"/&gt; &lt;script type="text/javascript" src="http://maps....

    baidu电子地图源代码

    这需要理解如何使用`BMap.LocalSearch`或`BMap.RouteSearch`类,并设置搜索参数,如关键词、范围、排序方式等。 此外,了解地图数据的存储和加载机制也是关键。电子地图的数据通常包括地理坐标、建筑物、道路、兴趣...

    hire-local-server:职位发布应用程序的服务器。 使用Indeed和Google Cloud Job Search API。 周到的顶点3

    雇用本地-职位发布应用API 端回购该服务器由带有PostgreSQL数据库的Node和Express组成。 这是一个工作板应用程序,允许用户搜索和发布新工作。 用户可以上传,更新和删除简历。 他们可以保存工作以供日后查看以及...

    地图服务器

    1996年MapQuest和Google Local Search的推出标志着商业地图服务的开始。在同一年,MapServer出现了第一批用户。MapServer在1998年变成了开源项目。2000年开放的GPS以及2001年出现的PostGIS都是重要的地理信息系统...

    Python_RunWhen Local为Kubernetes环境提供了定制的故障排除备忘单.zip

    结合Kubernetes,"RunWhen Local"可能提供了一种在本地测试和调试K8s作业、部署或服务的方法,从而在实际部署到集群前确保其正确性,减少故障发生的可能性。 Kubernetes是Google开源的容器编排系统,它管理着容器化...

    google maps api

    实现本地搜索的控件,控件~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    js 获取经纬度的实现方法

    5. **本地搜索控制**: 如果需要在地图上进行本地搜索,可以添加`LocalSearch`控件。在这个示例中,搜索结果不会显示列表,而是直接在地图上标记。 ```javascript map.addControl(new google.maps.LocalSearch(), ...

    local-incident-app

    5. **地理信息系统(GIS)集成**:考虑到“本地”事件,应用可能整合了地图服务,如Google Maps API或OpenStreetMap,以便用户可以定位和报告事件的具体位置。 6. **用户认证和授权**:为了确保数据安全,应用可能...

    toDoList:Javascript | 引导带| 快递| 节点| PostgreSQL | SASS || 智能待办事项列表应用程序,使用贝叶斯分类器将您的任务分类为四个类别之一,并通过Google查询API提供外部链接

    在每个项目的弹出模式下,您还将看到来自Google Search API的与该项目相关的链接。 同样,如果您想更新个人资料的电子邮件或密码,也可以通过“编辑个人资料”页面进行操作。 最终产品 入门 派生此存储库,然后克隆...

    HTML在LBS社区中的应用PPT教案.pptx

    此外,还可以考虑集成其他技术,如Google Maps API、OpenStreetMap等,用于地图展示和位置服务。 总的来说,HTML5在LBS社区中的应用不仅体现在地理位置服务上,还涵盖了移动应用的性能优化、用户体验提升以及跨平台...

    Andriod编程指南(程序员入门(中文版))

    ### Android编程指南知识点详解 #### 一、编程环境搭建 **1.1 下载与配置SDK** - **下载SDK**: 首先访问官方提供...此外,指南还涉及了一些高级主题,如GPS功能、Google API等,有助于进一步提升开发者的技能水平。

Global site tag (gtag.js) - Google Analytics