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