google_map_api_开发快速入门
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Google Maps API 第 1 版中文文 档 http://www.step1.cn/GoogleAPI/map/documentation.htm
下面是关于 KML 文件的中文文档
Google Earth KML 中文说明(一) http://gisman.bokee.com/5294713.html
更简单的说,谷歌使用这个密钥保证能够对所有 API 用户 / 网站进行区分,方便必要的时候对 “超常规 ” 用户进行阻拦。
对于地址解析的次数限制,一般来说不会有什么影响,这里主要说 API 密钥,所以以后有时间可 以再详细说说地址解析相关的东东。
对于 API 密钥,还有几点需要记下来: 1 、如果使用 API 的页面还没有发布,只是在本地调试,可以不用密钥,随便用个字符串代替就 可以了; 2 、 API 密钥只对网站目录或者域有效,所以,虽然你是使用同一个谷歌帐号登录后注册的密钥, 但是,对不同域的网页,需要用这些域分别注册不同的密钥,对于同一个域里的页面,直接拿你网 站的域名注册一个,在这个域里的所有页面就可以通用这个密钥了。
英文资料部分 (主要是 Google 官方的文档说明,如果觉得中文翻译的有问题,也可以看看 这些原始内容。 )
Google Maps API 官方网 http://www.google.com/apis/maps/
Google Maps API 英文文档 http://www.google.com/apis/maps/documentation/
好了,通過前一篇的介紹,大家對 Google Map 都有所瞭解了吧。不過還得一步步的來。先瞭解 API Key 吧。所谓 API 密钥( API Key ),其实就是一个字符串,在使用 script 标签导入 API 类库的时 候作为请求参数传给谷歌的地图服务器,形式就是:
<script src="http://ditu.google.com/maps?file=api&v=2&key= 你 注 册 的 API 密 钥 " type="text/javascript"></script>
Google Maps API 官方 Blog http://googlemapsapi.blogspot.com/
Google Maps API 论坛 http://groups.google.com/group/Google-Maps-API
Google KML 的官方文档 http://earth.google.com/kml/
1.
GMap2 类
2.
事件
3.
气泡提示窗口
4.
地图覆盖物
5.
控件
6.
XML 和 RPC
7.
减少浏览器内存泄露
3. 演示程序
4. 类参考
同步中文文档请参阅: http://www.codechina.org/doc/google/gmapapi/
谷歌地图 API 密钥(API Key)的解读和使用技巧 收藏
把这三种组合起来 ( 主要是普通地图和卫星地图的组合 ) ,或者在这些地图上添加其他的数据, 就又有一些新的类型了,这个层出不穷,我只说主页上现有的:
混合地图:就是把普通地图和卫星地图结合,在卫星地图上显示行政区、街道等等,在全球主页上 把鼠标移到 “ 卫星 ” 按钮上,会跳出来一个 “ 显示标签 ” 的复选框,选中后地图就是这个类型了, 中文还没支持,不知道什么时候可以用;
Google Earth KML 中文说明(二) http://gisman.bokee.com/5294722.html
Google Earth KML 中文说明(基于 Google Earth 客户端版本 3.0 的 KML 版 本 2.0 ) http://www.step1.cn/googleapi/map/kml.htm
2 、谷歌地图的类型 其实,谷歌地图的类型主要也就三种: 普通地图:历史悠久的人工绘制地图,不多说了,不知道的给我留个地址,我快递个板砖给你; 卫星地图:用卫星图片拼成的地图,不同地图的显示精度有区别,现在中文主页上也有了,曾经 可是被禁止的,怕你偷看海南的黑鱼; 地形地图:用等高线标出海拔的地图,对地理教学和教育相关的相当有用,当然,对军迷也超级 有吸引力,不展开 !
8.
给标注增加气泡提示窗口
9.
多页的气泡提示窗口
10. 创建图标
11. 使用图标类
12. 可拖拽的标注
13. 编码折线
14. 在地图中使用 XML 和异步 HTTP 通信 (AJAX)
15. 自定义地图控件
16. 自定义地图覆盖物
1. 标注管理器示例
1.
天气预报图
2. 疑难解答
1.
1.
其它资料
2. API 概览
我的 API Key 是:
ABQIAAAAMWyR7XvYN8KE9N6m_jcU4BRlfWJrPzRGiYSzS4l55_z1ea3VShRolPwARGHviv nEFRLVGXyIlsrYpA
使用谷歌地图 API 的第一步就是要 注册一个 API 密钥 , 谷歌的 API 使用条款 对这个密钥的用 途有很正式的说明,其实总结起来也很简单:
1 、谷歌地图 API 提供的服务是免费的,对于通过 API 正常使用谷歌地图的网站基本没有任何限 制;
2 、说 “ 基本 ” 没有限制的原因是,谷歌对每个 API 密钥对应的网站所作的 地理编码 / 地址解 析 请求次数有限制,每天( 24 小时)的请求次数不能超过 15000 次;
3 、不能使用谷歌地图从事任何非法的行为,否则谷歌应该能够通过这个密钥阻止你的网站使用谷 歌地图;
交通地图:在地图上显示交通信息。这个理论上是实时的,不过,在目前的中文地图上,吸引眼球 的作用更大一些,如果能在手机版上使用就好了(貌似目前还没有),而且只有北京和上海有数据 支持;
街景地图:这个和交通地图一样,严格上不算是一种地图类型,就是使用 Flash 来显示街道的全 景图,我也在等中文地图支持街景了(中文 API 已经支持 StreetView 相关的类了,就是没有数 据),不久前看到的消息是目前谷歌对这个没有时间表,呵呵,他是 “ 万事俱备,只欠东风 ” ,努 力吧!
Google Map 开发整理
Google Maps API 是 Google 自己推出编程 API ,可以让全世界对 Google Maps 有兴趣的程序 设计师自行开发基于 Google Maps 的服务,建立自己的地图网站。以下是我在 Google Maps API 开发过程中找到的一些 API 的编程资源,包括中文文档,中文说明,示例等等,希望对 Google Maps 编程感兴趣的程序员有所帮助。
Google Maps API 第 2 版类参考 http://www.step1.cn/GoogleApi/map2/reference.htm
另外一个版本的 Google Maps API 2 中文文 档 http://www.zmap.org/doc/maps/documentation/
还有一个关于 API 密钥的实际问题: 在论坛里还有人问过,同一个页面需要支持不同的域名,最简单的就是公司有一个 cn 域名,也 有一个 com 域名,这怎么办? 其实,对于这种问题,可以提前先注册好不同域名对应的密钥,存在你的 JS 变量里面,页面加载 时通过 window.location 得到当前请求页面的域名,通过这个域名在找到对应的密钥,然后使用 script 动态加载的方法加载地图 API ,用代码描述就是: // 事先已经注册好的密钥 var keyMapping = {host1:key1, host2:key2}; // 实际请求页面的域名 var requestHost = window.location.hostname; // 找到需要的密钥 var key = keyMapping[requestHost]; // 构造加载 API 的 script url var apiUrl = "http://ditu.google.com/maps?file=api&v=2&key=" + key; // 使用 script 动态加载的方法加载地图 API var scriptTag = document.createElement('script'); scriptTag.setAttribute('type', 'text/javascript'); scriptTag.setAttribute('src', apiUrl); document.getElementsByTagName('head')[0].appendChild(scriptTag); 使用这段代码时,需要注意把你自己的 JS 代码中对 API 的各个类的调用放在 API 加载完成以后, 详细的解释可以先 google 一下著名的 DomReady 的问题 ,三言两语还是说不清楚的,呵呵。 这段代码我没有实际跑过,欢迎斧正,如果你有更好的方法,我更愿意洗耳恭听了。
Google API 官方网 http://code.google.com/
附: Google Map API 中文开发教程
Google Map API 中文开发教程最好的教程还是 google 官方的说明文档,而且配有详 细的例子,供大家学习,下面是文档的英文原文连接 http://www.google.com/ap is/maps/documentation/index.html
中文资料部分 (包括中文的文档说明等,以下的网址都是中文内容。)
下面的关于 API 的中文文档
Google Maps API 第 2 版中文文 档 http://www.step1.cn/GoogleApi/map2/documentation.htm
Google Maps API 第 2 版升级指 南 http://www.step1.cn/GoogleApi/map2/upgrade.htm
不过,我们常用的也就三个:
http://maps.google.com 这个应该是谷歌地图的全球主页,默认显示老美地图,拖拽到不同 地区会对应显示不同语言版本的地图,不过目前对中文数据搜索支持的不如下面正式的中文主页;
http://ditu.google.com 这个么,我叫它是谷歌地图的中文主页,什么意思看下一个你就知道 了,用这个可以使用 “ 我的地图 ” ;
http://ditu.google.cn 这个,我叫他是谷歌地图的大陆主页,目前还没有 “ 我的地图 ” 这个 功能;
后面这两个主页只能显示大陆地区的详细地图,如果想看别的地区的,就只能用全球主页了。 当然,别以为你抓着漏洞可以注册个 maps.google.cn ,然后卖给谷歌,不信你试试 maps.go ogle.cn,看它跳到哪里了 :)
使用谷歌地图 API 应该有所了解的一些技术外背景 收藏
这些内容,常用谷歌地图的应该也都知道,我也只写我知道的,了解这些对使用 API 还是有帮助的。
1 、 谷歌地图主页 谷歌地图对应不同的地区都会有一些专门的主页,首次登陆时会显示这些地区,比如,香港的: http://maps.google.com.hk ,台湾的: http://maps.google.com.tw ,日本的: http://map s.google.co.jp
目录包括
1. 面向的读者
2. 简介
1.
“ Hello World ” 程序
2.
浏览器兼容性
3.
XHTML 和 VML
wk.baidu.com
4.
API 更新
5.
地理译码
6.
行程规划和本地搜索
7.
标注管理
3. 示例程序
1.
基本操作
2.
地图移动及动画
3.
给地图添加控件
4.
事件处理函数
5.
打开气泡提示窗口
6.
地图覆盖物
7.
单击事件处理
在地图 API 中,后面组合的这三种除了混合地图算作是一种地图类型外,其他两个都不算是地图 类型,被看着是在地图上新增的层(术语:叠加层 /overlay )。
3 、谷歌地图的数据源 谷歌是一个服务提供商,而不是一个内容提供商,所以,准确的说, 谷歌地图向终端用户提供的 是基于地图的搜索服务。从这一点上,可以把谷歌地图上的数据分为三类: 地理数据:地理、空间信息,包括经纬坐标、航拍 / 卫星图片、行政区划以及据此绘制的图片等等, 由谷歌或其合作伙伴持有; 商业数据:与地理相关的商业数据,比如餐馆、影院、交通、景点等等,这也是由谷歌或其合作伙伴 持有,谷歌可能对这些数据有一个采集、过滤、整理的再加工过程。想被客户搜索到,就来这里 标注自 己的公司 吧; 用户数据:用户使用谷歌地图 API 定制地图并在地图上标注的数据,这些数据由用户持有。 这样,通过这个分类,我们可以解决两个非常常见的疑问: 1 )使用谷歌地图 API ,地图上的数据存在哪里?
下面是关于 KML 文件的中文文档
Google Earth KML 中文说明(一) http://gisman.bokee.com/5294713.html
更简单的说,谷歌使用这个密钥保证能够对所有 API 用户 / 网站进行区分,方便必要的时候对 “超常规 ” 用户进行阻拦。
对于地址解析的次数限制,一般来说不会有什么影响,这里主要说 API 密钥,所以以后有时间可 以再详细说说地址解析相关的东东。
对于 API 密钥,还有几点需要记下来: 1 、如果使用 API 的页面还没有发布,只是在本地调试,可以不用密钥,随便用个字符串代替就 可以了; 2 、 API 密钥只对网站目录或者域有效,所以,虽然你是使用同一个谷歌帐号登录后注册的密钥, 但是,对不同域的网页,需要用这些域分别注册不同的密钥,对于同一个域里的页面,直接拿你网 站的域名注册一个,在这个域里的所有页面就可以通用这个密钥了。
英文资料部分 (主要是 Google 官方的文档说明,如果觉得中文翻译的有问题,也可以看看 这些原始内容。 )
Google Maps API 官方网 http://www.google.com/apis/maps/
Google Maps API 英文文档 http://www.google.com/apis/maps/documentation/
好了,通過前一篇的介紹,大家對 Google Map 都有所瞭解了吧。不過還得一步步的來。先瞭解 API Key 吧。所谓 API 密钥( API Key ),其实就是一个字符串,在使用 script 标签导入 API 类库的时 候作为请求参数传给谷歌的地图服务器,形式就是:
<script src="http://ditu.google.com/maps?file=api&v=2&key= 你 注 册 的 API 密 钥 " type="text/javascript"></script>
Google Maps API 官方 Blog http://googlemapsapi.blogspot.com/
Google Maps API 论坛 http://groups.google.com/group/Google-Maps-API
Google KML 的官方文档 http://earth.google.com/kml/
1.
GMap2 类
2.
事件
3.
气泡提示窗口
4.
地图覆盖物
5.
控件
6.
XML 和 RPC
7.
减少浏览器内存泄露
3. 演示程序
4. 类参考
同步中文文档请参阅: http://www.codechina.org/doc/google/gmapapi/
谷歌地图 API 密钥(API Key)的解读和使用技巧 收藏
把这三种组合起来 ( 主要是普通地图和卫星地图的组合 ) ,或者在这些地图上添加其他的数据, 就又有一些新的类型了,这个层出不穷,我只说主页上现有的:
混合地图:就是把普通地图和卫星地图结合,在卫星地图上显示行政区、街道等等,在全球主页上 把鼠标移到 “ 卫星 ” 按钮上,会跳出来一个 “ 显示标签 ” 的复选框,选中后地图就是这个类型了, 中文还没支持,不知道什么时候可以用;
Google Earth KML 中文说明(二) http://gisman.bokee.com/5294722.html
Google Earth KML 中文说明(基于 Google Earth 客户端版本 3.0 的 KML 版 本 2.0 ) http://www.step1.cn/googleapi/map/kml.htm
2 、谷歌地图的类型 其实,谷歌地图的类型主要也就三种: 普通地图:历史悠久的人工绘制地图,不多说了,不知道的给我留个地址,我快递个板砖给你; 卫星地图:用卫星图片拼成的地图,不同地图的显示精度有区别,现在中文主页上也有了,曾经 可是被禁止的,怕你偷看海南的黑鱼; 地形地图:用等高线标出海拔的地图,对地理教学和教育相关的相当有用,当然,对军迷也超级 有吸引力,不展开 !
8.
给标注增加气泡提示窗口
9.
多页的气泡提示窗口
10. 创建图标
11. 使用图标类
12. 可拖拽的标注
13. 编码折线
14. 在地图中使用 XML 和异步 HTTP 通信 (AJAX)
15. 自定义地图控件
16. 自定义地图覆盖物
1. 标注管理器示例
1.
天气预报图
2. 疑难解答
1.
1.
其它资料
2. API 概览
我的 API Key 是:
ABQIAAAAMWyR7XvYN8KE9N6m_jcU4BRlfWJrPzRGiYSzS4l55_z1ea3VShRolPwARGHviv nEFRLVGXyIlsrYpA
使用谷歌地图 API 的第一步就是要 注册一个 API 密钥 , 谷歌的 API 使用条款 对这个密钥的用 途有很正式的说明,其实总结起来也很简单:
1 、谷歌地图 API 提供的服务是免费的,对于通过 API 正常使用谷歌地图的网站基本没有任何限 制;
2 、说 “ 基本 ” 没有限制的原因是,谷歌对每个 API 密钥对应的网站所作的 地理编码 / 地址解 析 请求次数有限制,每天( 24 小时)的请求次数不能超过 15000 次;
3 、不能使用谷歌地图从事任何非法的行为,否则谷歌应该能够通过这个密钥阻止你的网站使用谷 歌地图;
交通地图:在地图上显示交通信息。这个理论上是实时的,不过,在目前的中文地图上,吸引眼球 的作用更大一些,如果能在手机版上使用就好了(貌似目前还没有),而且只有北京和上海有数据 支持;
街景地图:这个和交通地图一样,严格上不算是一种地图类型,就是使用 Flash 来显示街道的全 景图,我也在等中文地图支持街景了(中文 API 已经支持 StreetView 相关的类了,就是没有数 据),不久前看到的消息是目前谷歌对这个没有时间表,呵呵,他是 “ 万事俱备,只欠东风 ” ,努 力吧!
Google Map 开发整理
Google Maps API 是 Google 自己推出编程 API ,可以让全世界对 Google Maps 有兴趣的程序 设计师自行开发基于 Google Maps 的服务,建立自己的地图网站。以下是我在 Google Maps API 开发过程中找到的一些 API 的编程资源,包括中文文档,中文说明,示例等等,希望对 Google Maps 编程感兴趣的程序员有所帮助。
Google Maps API 第 2 版类参考 http://www.step1.cn/GoogleApi/map2/reference.htm
另外一个版本的 Google Maps API 2 中文文 档 http://www.zmap.org/doc/maps/documentation/
还有一个关于 API 密钥的实际问题: 在论坛里还有人问过,同一个页面需要支持不同的域名,最简单的就是公司有一个 cn 域名,也 有一个 com 域名,这怎么办? 其实,对于这种问题,可以提前先注册好不同域名对应的密钥,存在你的 JS 变量里面,页面加载 时通过 window.location 得到当前请求页面的域名,通过这个域名在找到对应的密钥,然后使用 script 动态加载的方法加载地图 API ,用代码描述就是: // 事先已经注册好的密钥 var keyMapping = {host1:key1, host2:key2}; // 实际请求页面的域名 var requestHost = window.location.hostname; // 找到需要的密钥 var key = keyMapping[requestHost]; // 构造加载 API 的 script url var apiUrl = "http://ditu.google.com/maps?file=api&v=2&key=" + key; // 使用 script 动态加载的方法加载地图 API var scriptTag = document.createElement('script'); scriptTag.setAttribute('type', 'text/javascript'); scriptTag.setAttribute('src', apiUrl); document.getElementsByTagName('head')[0].appendChild(scriptTag); 使用这段代码时,需要注意把你自己的 JS 代码中对 API 的各个类的调用放在 API 加载完成以后, 详细的解释可以先 google 一下著名的 DomReady 的问题 ,三言两语还是说不清楚的,呵呵。 这段代码我没有实际跑过,欢迎斧正,如果你有更好的方法,我更愿意洗耳恭听了。
Google API 官方网 http://code.google.com/
附: Google Map API 中文开发教程
Google Map API 中文开发教程最好的教程还是 google 官方的说明文档,而且配有详 细的例子,供大家学习,下面是文档的英文原文连接 http://www.google.com/ap is/maps/documentation/index.html
中文资料部分 (包括中文的文档说明等,以下的网址都是中文内容。)
下面的关于 API 的中文文档
Google Maps API 第 2 版中文文 档 http://www.step1.cn/GoogleApi/map2/documentation.htm
Google Maps API 第 2 版升级指 南 http://www.step1.cn/GoogleApi/map2/upgrade.htm
不过,我们常用的也就三个:
http://maps.google.com 这个应该是谷歌地图的全球主页,默认显示老美地图,拖拽到不同 地区会对应显示不同语言版本的地图,不过目前对中文数据搜索支持的不如下面正式的中文主页;
http://ditu.google.com 这个么,我叫它是谷歌地图的中文主页,什么意思看下一个你就知道 了,用这个可以使用 “ 我的地图 ” ;
http://ditu.google.cn 这个,我叫他是谷歌地图的大陆主页,目前还没有 “ 我的地图 ” 这个 功能;
后面这两个主页只能显示大陆地区的详细地图,如果想看别的地区的,就只能用全球主页了。 当然,别以为你抓着漏洞可以注册个 maps.google.cn ,然后卖给谷歌,不信你试试 maps.go ogle.cn,看它跳到哪里了 :)
使用谷歌地图 API 应该有所了解的一些技术外背景 收藏
这些内容,常用谷歌地图的应该也都知道,我也只写我知道的,了解这些对使用 API 还是有帮助的。
1 、 谷歌地图主页 谷歌地图对应不同的地区都会有一些专门的主页,首次登陆时会显示这些地区,比如,香港的: http://maps.google.com.hk ,台湾的: http://maps.google.com.tw ,日本的: http://map s.google.co.jp
目录包括
1. 面向的读者
2. 简介
1.
“ Hello World ” 程序
2.
浏览器兼容性
3.
XHTML 和 VML
wk.baidu.com
4.
API 更新
5.
地理译码
6.
行程规划和本地搜索
7.
标注管理
3. 示例程序
1.
基本操作
2.
地图移动及动画
3.
给地图添加控件
4.
事件处理函数
5.
打开气泡提示窗口
6.
地图覆盖物
7.
单击事件处理
在地图 API 中,后面组合的这三种除了混合地图算作是一种地图类型外,其他两个都不算是地图 类型,被看着是在地图上新增的层(术语:叠加层 /overlay )。
3 、谷歌地图的数据源 谷歌是一个服务提供商,而不是一个内容提供商,所以,准确的说, 谷歌地图向终端用户提供的 是基于地图的搜索服务。从这一点上,可以把谷歌地图上的数据分为三类: 地理数据:地理、空间信息,包括经纬坐标、航拍 / 卫星图片、行政区划以及据此绘制的图片等等, 由谷歌或其合作伙伴持有; 商业数据:与地理相关的商业数据,比如餐馆、影院、交通、景点等等,这也是由谷歌或其合作伙伴 持有,谷歌可能对这些数据有一个采集、过滤、整理的再加工过程。想被客户搜索到,就来这里 标注自 己的公司 吧; 用户数据:用户使用谷歌地图 API 定制地图并在地图上标注的数据,这些数据由用户持有。 这样,通过这个分类,我们可以解决两个非常常见的疑问: 1 )使用谷歌地图 API ,地图上的数据存在哪里?