`
zscomehuyue
  • 浏览: 420829 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
阅读更多
Google 地图 API 概念

欢迎阅读 Google 地图 API 的开发人员文档!Google 地图 JavaScript API 使您可以在网页中嵌入 Google 地图。要使用该 API,您需要先注册以获取 API 密钥。收到 API 密钥之后,即可以按照本文档中的说明开发地图应用程序。

新!Google 地图 API 支持反向地址解析!
目录

   1. 读者
   2. 创建 Google Mapplet
   3. 使用 Google AJAX API 加载程序
   4. Google 地图 API 的本地化
   5. 指定传感器参数 新!
   6. 编程说明
         1. 浏览器兼容性
         2. XHTML 和 VML
         3. API 更新
         4. 升级 Google 地图第 1 版应用程序
         5. 防止内存泄漏
   7. 疑难解答
   8. 其他资源

读者

本文档适用于熟悉 JavaScript 编程和面向对象编程概念的读者。您还应该从用户的角度熟悉 Google 地图。网络上有许多 JavaScript 教程。

本概念性文档并不完整详尽;其旨在使您可以快速开始使用 Google 地图 API 探索和开发很酷的应用程序。我们还发布了 Google 地图 API 参考,该文档相对完整。

我们最近重新组织了本文档,添加了更多概念性的信息,并将讨论内容划分为以下主要领域:

    * 基本地图对象
    * 地图事件
    * 地图控件
    * 地图叠加层
    * 地图服务

希望重新设计的文档更易于阅读,尤其是对 Google 地图 API 比较陌生的开发人员。同时欢迎对本文档提出反馈。确保加入 Google 地图 API 开发人员论坛提供反馈并讨论该 API。
创建 Google Mapplet

Google 地图 API 现在增加了对 Mapplet(地图和小工具的结合)的支持,使您可以在 Google 地图中嵌入外部托管的应用程序。这些 Mapplet 在自己的 iFrame 中运行,使您可以创建“嵌套的混搭”,例如可以混合使用两个网站的代码。这将在 Google 地图中创建一个全新的编码世界!编写 Mapplet 很容易,尽管有些操作与在标准 Google 地图 API 中的操作不同。有关详细信息,请参阅 Google 地图 Mapplet 文档和参考。
使用 Google AJAX API 加载程序

Google 地图 API 现在已与 Google AJAX API 完全集成。此框架使您可以为所有受支持的 Google AJAX API(包括 Google 地图)加载一个 API 密钥,还可以为每个 API 提供一个公共的命名空间,从而允许不同的 Google API 共同运行。请不必担心,如果决定不使用 Google AJAX API 框架,仍可继续使用现有命名空间。

使用 Google AJAX API 框架相对简单。将应用程序更改为使用该框架包括以下步骤:

    * 从 http://www.google.cn/jsapi 加载通用加载程序,而不是从 http://ditu.google.cn/apis 加载 API。可以将现有 Google 地图 API 密钥传递到下面的网址:

      <script type="text/javascript" src="http://www.google.cn/jsapi?key=ABCDEFG"></script>

    * 使用 google.load 方法加载所需的特定 API。google.load 方法以要加载的特定 API 和版本号为参数:

      <script type="text/javascript">
        google.load("maps", "2", {"base_domain": "ditu.google.cn"});
      </script>

    * 对 Google 地图 API 中当前使用的所有类、方法和属性使用 google.maps.* 命名空间,以使用此命名空间替换 G 前缀。使用 google.setOnLoadCallback() 初始化您的对象。例如,使用 Google AJAX API 加载程序时,GMap2 对象将被映射到 google.maps.Map2:

      <script type="text/javascript" src="http://www.google.cn/jsapi?key=ABCDEFG"></script>
      <script type="text/javascript">
        google.load("maps", "2.x", {base_domain: "ditu.google.cn", language: "zh-CN"});
        
        // Call this function when the page has been loaded
        function initialize() {
          var map = new google.maps.Map2(document.getElementById("map"));
          map.setCenter(new google.maps.LatLng(39.9493, 116.3975), 13);
        }
        google.setOnLoadCallback(initialize);
      </script>

有关使用 Google AJAX API 加载程序的完整文档,请访问 http://code.google.com/intl/zh-CN/apis/ajax/documentation/。
Google 地图 API 的本地化

在显示控件名称、版权声明和行车路线之类的文本信息时,Google 地图 API 会使用浏览器的偏好语言设置。如果您希望 Google 地图 API 忽略浏览器的语言设置,并强制其以特定语言显示信息,您可以在加入 Google 地图 API javascript 代码时,将可选 hl 参数添加到 <script> 标签,从而指定使用的语言。

例如,要以德文显示 Google 地图 API 应用程序,请将 &hl=de 添加到 <script> 标签,如下所示:

<script type="text/javascript" src="http://ditu.google.cn/maps?file=api&v=2&key=abcdefg&hl=de"

另请参阅支持的区域语言列表。请注意,我们会经常更新支持的语言,因此该列表可能并不详尽。
指定传感器参数

现在使用 Google 地图 API 会要求您指明您的应用程序是否正在使用传感器(如 GPS 定位器)确定用户的位置。这对移动设备尤为重要。在加入 Google 地图 API Javascript 代码时,应用程序必须向 sensor 标签传递一个必需的 <script> 参数,以指明您的应用程序是否正使用传感器设备。

当通过 http://ditu.google.cn/maps 或使用通用加载程序加载 Google 地图 API JavaScript 时,通过传感器确定用户位置的应用程序必须传递 &sensor=true。

#
# Example using sensor when loading the Maps JavaScript API
#
<script type="text/javascript" src="http://ditu.google.cn/maps?file=api&v=2&key=abcdefg&sensor=true"></script>
#
# Example using sensor when loading the Maps API via the common loader
#
<script type="text/javascript" src="http://www.google.cn/jsapi?key=abcdef"></script>
<script type="text/javascript">
  google.load("maps", "2",{"other_params":"sensor=true"});

  function initialize() {
    var map = new google.maps.Map2(document.getElementById("map"));
    map.setCenter(new google.maps.LatLng(39.9493, 116.3975), 13);
  }
  google.setOnLoadCallback(initialize);
</script>

请注意,即使您的设备并没有使用传感设备,您仍然需要传递此参数,将参数值设为 false。
编程说明

开始研究 Google 地图 API 之前,应注意以下问题,以确保应用程序可以在目标平台上顺利运行。
浏览器兼容性

Google 地图 API 支持与 Google 地图网站相同的浏览器。脚本 http://ditu.google.cn/maps?file=api&v=2 几乎可以在所有浏览器中正确解析,因此检查兼容性之前可以安全地包含该脚本。

有时,不同的应用程序对使用互不兼容的浏览器的用户需要执行不同的操作。Google 地图 API 提供了一个全局方法 (GBrowserIsCompatible()) 来检查兼容性,但它检测到不兼容的浏览器时不会采取任何自动行为。本文档中的多数示例不检查浏览器兼容性,对早期版本的浏览器也不显示错误消息。很明显,真正的应用程序应该针对不兼容的浏览器设计更友好的行为,但我们忽略了此类检查以提高这些示例的可读性。

特殊应用程序将不可避免遇到浏览器和平台之间不一致的情况。这些问题没有简单的解决方法,但 Google 地图 API 开发人员论坛和 quirksmode.org 都是寻找解决方案的好资源。
XHTML 和 VML

我们建议在包含地图的页面上使用符合标准的 XHTML。当浏览器在页面顶部看到 XHTML DOCTYPE 时,它们会以“符合标准的模式”渲染页面,使其布局和行为在不同的浏览器中的可预测性更强。没有该定义的页面可能会以“Quirk 模式”渲染,这可能会导致不一致的布局。

如果要在地图上显示折线(类似于 Google 地图用于显示行车路线的线),您需要在 XHTML 文档中使用 VML 命名空间才能使所有内容在 Internet Explorer 中正常运行。XHTML 文档的开头应如下所示:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml">

API 更新

http://ditu.google.cn/maps?file=api&v=2 网址中的 v 参数表示 Google 地图 API 使用的版本号。使用此 API 的多数用户可能想通过在该网址中传递 v=2 参数来使用当前“第 2 版”的 API。也可以通过传递 v=2.x 获取最新版本(包含最新功能)。但是,请注意,最新版本可能不如 v=2 版本稳定。我们会经常更新 Google 地图 API(有时每周更新一次),因此当前 v=2.x 版本中的功能会移植到 v=2 版本(除非发现问题)。

此外,还可以通过传递 v=2.s 参数使用 API 的“稳定”版本。此版本更新频率较低,大约每几个月更新一次。由于 v=2 和 v=2.x 版本大约每两周更新一次,一些开发人员更喜欢使用稳定的 v=2.s。请注意,稳定版本可能比当前版本落后几个版本,因此也许不包含一些最新功能。

更新 API 时,它的每个版本都会注明(例如“第 2.76 版”)。当我们更新 API 时,基于先前版本的较旧代码可能偶尔会和声明的行为方式不同。如果一定需要将应用程序绑定在特定的 API 版本上,则可以通过在 v 参数(例如 v=2.75)中显式地包含该版本以实现此目的。但是不建议这么做。将您的产品基于最新代码始终是最佳选择。

将来对 API 进行重大更新时,我们将更改主版本号,并在 Google 代码和 Google 地图 API 开发人员论坛上发布声明。当发生这种情况时,我们预期同时支持这两个版本至少一个月,以使您可以移植代码。

地图团队还使用最新的错误修正程序和性能改进透明地更新 API。这些错误修正程序只应提高性能并修正错误,但是我们可能会无意中破坏某些 API 客户端。请使用 Google 地图 API 开发人员论坛报告此类问题。
升级第 1 版应用程序

本文档参考的是 2006 年 4 月 3 日发布的 Google 地图 API 的第 2 版。如果您的 API 使用 Google 地图 API 的第 1 版(即您的站点于 2006 年 4 月 3 日之前开发),则应尝试升级您的网站。有关详细信息,请参阅第 2 版升级指南。
Google 地图 API 中的示例

请注意,本文档中的多数示例仅显示相关 JavaScript 代码,而不显示完整的 HTML 文件。可以将 JavaScript 代码插入自己的结构 HTML 文件,也可以通过点击示例后的链接下载每个示例的完整 HTML 文件。
减少浏览器内存泄漏

Google 地图 API 建议使用函数闭包,API 事件处理系统 GEvent 将事件附加到 DOM 节点的方式几乎肯定会导致一些浏览器(尤其是 Internet Explorer)泄漏内存。Google 地图 API 的第 2 版引入了一种新方法 GUnload(),该方法将删除导致这些泄漏的多数循环引用。您应在页面的 onunload 事件中调用 GUnload(),以降低应用程序泄漏内存的可能性:

<body onunload="GUnload()">

使用此函数可以在 Google 地图中完全消除 Internet Explorer 内存泄漏,但是如果观察到内存消耗问题,则应使用诸如 Drip 等工具在您自己的站点上测试内存泄漏。
其他资源

下面是一些附加资源。请注意,这些站点不是 Google 拥有或支持的站点。

    * Google Mapki:Mapki
    * Google 地图 API 教程:http://econym.googlepages.com/index.htm
    * Esa 的 Google 地图 API 示例:http://koti.mbnet.fi/ojalesa/exam/index.html
    * USNaviguide 的 Google 地图 API 示例:http://maps.huge.info/examples.htm
    * Mark McClure 的编码折线示例:http://facstaff.unca.edu/mcmcclur/GoogleMaps/EncodePolyline/
    * Marcelo 的 Google 地图 API 实验:http://maps.forum.nu/
    * Bill Chadwick 的 Google 地图 API 演示:http://www.bdcc.co.uk/Gmaps/BdccGmapBits.htm

疑难解答

如果您的代码不起作用,则下面一些途径可能会帮助您解决问题:

    * 请确保您的 API 密钥有效。
    * 查找错别字。请记住 JavaScript 语言区分大小写。
    * 使用 JavaScript 调试器。在 Firefox 中,可以使用 JavaScript 控制台、Venkman Debugger 或 Firebug 插件。在 IE 中,您可以使用 Microsoft 脚本调试器。该系列视频演示了怎样使用各种调试工具。
    * 搜索 Google 地图 API 开发人员论坛。如果找不到可以解答您问题的帖子,请将您的问题连同演示该问题的网页链接一起发布到该网上论坛。
    * 有关第三方开发人员资源,请参阅其他资源。
分享到:
评论

相关推荐

    google地图api文档

    下面是 Google 地图 API 的基础知识点和重要概念: 1. Google 地图 API 概念 Google 地图 API 是 Google 提供的一款 API,允许开发者在自己的网站中嵌入 Google 地图,添加丰富的功能和交互性。Google 地图 API ...

    Google地图API

    ##### 1.1 Google地图API概念 Google地图API是一套由Google提供的用于在网页上集成和展示地图的工具集合。通过使用这些API,开发者可以轻松地在自己的网站或应用中嵌入交互式地图、搜索地点等功能。 **注册与获取...

    离线google地图API(含sample)+瓦片下载资源

    本文将深入探讨离线Google地图API的核心概念、瓦片下载及拼接显示的相关知识。 1. **离线Google地图API V3**: Google Maps API V3是Google提供的一个轻量级的JavaScript库,用于在网页上嵌入地图。离线版本则意味...

    地区经纬度信息获取(利用Google地图API获取)

    Google地图API是谷歌公司提供的一个服务,允许开发者在自己的应用中嵌入谷歌地图,并通过编程的方式实现对地图服务的访问。它提供了丰富的接口来获取地图相关数据,例如地区的位置、道路信息、街道视图等。其中,...

    Google地图API.doc

    #### 1.1 Google地图API概念 Google地图API(Application Programming Interface)是一套JavaScript库,它使得开发者可以将动态、交互式的Google地图集成到自己的网站或应用中。通过这个API,你可以控制地图的行为...

    Google地图API参考

    在了解 Google 地图 API 之前,需要了解基本概念和术语。Google 地图 API 现在与 Google AJAX API 载入器集成,后者创建了一个公共命名空间,以便载入和使用多个 Google AJAX API。该框架可让您将可选 google.maps.*...

    谷歌地图api右键菜单

    谷歌地图API(Google Maps API)是开发者用于在网站或应用中集成谷歌地图功能的一个强大工具。它提供了丰富的接口和功能,让开发者可以自定义地图的行为,包括创建自定义的右键菜单。在本文中,我们将深入探讨如何...

    [免费]百度谷歌地图API学习链接网址.rar

    在深入讨论之前,让我们先明确一下百度地图API和谷歌地图API的基础概念: 1. **百度地图API**:百度地图提供了一系列JavaScript API,让开发者可以构建基于地图的应用。这些API包括地图显示、地理编码、标记、信息...

    Google_Map_API谷歌地图

    基础知识 正向标注 反向标注 任意多边形 自定义GMarker 地图控件与地图属性 ...Google 地图 API 概念 Google 地图的“Hello, World” 加载 Google 地图 API 地图 DOM 元素 GMap2 - 基本对象 初始化地图 加载地图

    谷歌地图API编程源码

    2. **JavaScript基础**:谷歌地图API主要基于JavaScript实现,因此你需要熟悉JavaScript语法和基本概念。 3. **地图对象和事件**:了解如何创建和配置地图对象,以及如何处理地图上的用户交互事件,如点击、拖动等...

    google 离线地图 api

    在使用Google离线地图API时,你需要了解以下几个关键概念和步骤: 1. **地图切片(Map Tiles)**: Google地图以256x256像素的图像块,称为“地图切片”,进行存储和显示。这些切片按照不同的缩放级别组织,每个级别...

    Google Map API 使用示例

    本示例将深入探讨如何使用 Google Map API,帮助你理解和掌握其核心概念及应用。 首先,要使用 Google Map API,你需要在 Google Cloud Platform 上创建一个项目,并启用 Maps JavaScript API。获取 API 密钥是关键...

    Google地图API高级特性.pdf

    根据提供的文档信息,我们可以深入探讨Google地图API的高级特性及相关技术要点。这将涉及API的基础概念、使用方法以及一些高级功能的应用案例。 ### Google地图API概述 Google地图API是一种允许开发者利用...

    Google地图API教程

    本教程旨在帮助初学者快速掌握Google地图API的核心概念和基本操作,适合对地理信息系统(GIS)和Web开发感兴趣的读者。 #### 二、“Hello, World”示例解析:Google地图API入门 最直观的学习方式是从一个简单的...

    谷歌地图 离线api

    谷歌地图API是Google提供的一项服务,允许开发者将地图集成到自己的应用程序中,进行位置查找、路线规划等多种功能。离线API则意味着在用户断开网络连接后,仍然能够显示地图数据,这对于移动应用开发者来说尤其重要...

    Google 地图 api教程

    《Google地图API详解》 Google地图API是开发者用于在网页或应用中集成Google地图功能的强大工具。本教程将深入探讨如何使用Google地图API创建和控制地图,以及进行基本的交互操作。 首先,让我们从最基础的“Hello...

    我收集的谷歌地图API实例

    以上就是谷歌地图API的基本概念和使用方式。开发者可以通过组合这些基本元素,构建复杂的应用,例如显示多个标记,搜索地点,实现路线规划,甚至创建自定义图层。在实际开发中,还需要了解API的其他功能,如地理编码...

Global site tag (gtag.js) - Google Analytics