# Google Maps 基础
## 创建一个简单的 Google 地图
现在让我们创建一个简单的 Google 地图。
以下是显示了英国伦敦的 Google 地图:
## 实例
```
<!DOCTYPE html>
<html>
<head>
<script src="http://maps.googleapis.com/maps/api/js?key=AIzaSyDY0kkJiTPVd2U7aTOAwhc9ySH6oHxOIYM&sensor=false">
</script>
<script>
function initialize()
{
var mapProp = {
center:new google.maps.LatLng(51.508742,-0.120850),
zoom:5,
mapTypeId:google.maps.MapTypeId.ROADMAP
};
var map=new google.maps.Map(document.getElementById("googleMap")
,mapProp);
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
</head>
<body>
<div id="googleMap" style="width:500px;height:380px;"></div>
</body>
</html>
```
## 实例解析
我们以以上实例来解析 Google 地图的创建过程。
## 应用为什么要声明 HTML5?
```
<!DOCTYPE html>
```
大多数浏览器使用 "标准模式" 的 HTML5 文档渲染页面,这就意味着你的应用是兼容各大浏览器的。
另外,如果没有DOCTYPE标签,浏览器则使用混杂模式 (quirks mode)进行渲染页面内容。
**提示:** 应该注意的是一些"混杂模式 "中的CSS并不能使用与标准模式中。在具体的应用中,所有基于百分比的大小都必须从父块元素继承 。如果在父模块中没有指定大小,默认值为 0 x 0 像素。如果你想使用百分比,可以在<style> 标签中声明,如下所示:
```
<style type="text/css">
html {height:100%}
body {height:100%;margin:0;padding:0}
#googleMap {height:100%}
</style>
```
这个样式声明表明地图模块的(GoogleMap)应 HTML高度为100%。
## 添加 Google 地图 API Key
在以下实例中第一个<script> 标签中必须包含 Google 地图 API:
```
<script src="http://maps.googleapis.com/maps/api/js?key=_**YOUR_API_KEY**_&sensor=**_TRUE_OR_FALSE_**"></script>
```
将google生成的 API key 放置于 **key** 参数中(key=_YOUR_API_KEY)_。
The **sensor** 参数是必须的,该参数用于指明应用程序是否使用一个传感器 (类似 GPS 导航) 来定位用户的位置。参数值可以设置为 true 或者 false。
**HTTPS**
如果你的应用是安全的HTTP(HTTPS:HTTP Secure)应用,你可以使用 HTTPS 来加载 Google 地图 API:
```
<script src="https://maps.googleapis.com/maps/api/js?key=_**YOUR_API_KEY**_&sensor=**_TRUE_OR_FALSE_**"></script>
```
**异步加载**
同样我们也可以在页面完全载入后再加载 Google 地图 API。
以下实例使用了 window.onload 来实现页面完全载入后加载 Google 地图 。 loadScript() 函数创建了加载 Google 地图 API <script> 标签。此外在标签的末尾添加了 callback=initialize 参数, initialize()作为回调函数会在API完全载入后执行:
## 实例
```
function loadScript()
{
var script = document.createElement("script");
script.src = "http://maps.googleapis.com/maps/api/js? key=AIzaSyDY0kkJiTPVd2U7aTOAwhc9ySH6oHxOIYM&sensor=false&callback=initialize"; document.body.appendChild(script);
}
window.onload = loadScript;
```
## 定义地图属性
在初始化地图前,我们需要先创建一个 Map 属性对象来定义一些地图的属性:
```
var mapProp = {
center:new google.maps.LatLng(51.508742,-0.120850),
zoom:7,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
```
**center(中心点)**
中心属性指定了地图的中心,该中心通过坐标(纬度,经度)在地图上创建一个中心点。
**Zoom(缩放级数)**
zoom 属性指定了地图的 缩放级数。zoom: 0 显示了整个地球地图的完全缩放。
**MapTypeId(地图的初始类型)**
mapTypeId 属性指定了地图的初始类型。
mapTypeId包括如下四种类型:
* google.maps.MapTypeId.HYBRID:显示卫星图像的主要街道透明层
* google.maps.MapTypeId.ROADMAP:显示普通的街道地图
* google.maps.MapTypeId.SATELLITE:显示卫星图像
* google.maps.MapTypeId.TERRAIN:显示带有自然特征(如地形和植被)的地图
## 在哪里显示 Google 地图
通常 Google 地图使用于 <div> 元素中:
```
<div id="googleMap" style="width:500px;height:380px;"></div>
```
**注意:** 地图将以div中设置的大小来显示地图的大小,所以我们可以在 <div> 元素中设置地图的大小。
## 创建一个 Map 对象
```
var map=new google.maps.Map(document.getElementById("googleMap")
,mapProp);
```
以上代码使用参数(mapProp)在<div> 元素 (id为googleMap) 创建了一个新的地图。
**提示:**如果想在页面中创建多个地图,你只需要添加新的地图对象即可。
以下实例定义了四个地图实例 (四个地图使用了不同的地图类型):
## 实例
```
var map = new google.maps.Map(document.getElementById("googleMap"),mapProp);
var map2 = new google.maps.Map(document.getElementById("googleMap2"),mapProp2);
var map3 = new google.maps.Map(document.getElementById("googleMap3"),mapProp3);
var map4 = new google.maps.Map(document.getElementById("googleMap4"),mapProp4);
```
## 加载地图
窗口载入后通过执行 initialize() 函数来初始化 Map 对象,这样可以确保在页面完全载入后再加载 Google 地图:
```
google.maps.event.addDomListener(window, 'load', initialize);
```
- JavaScript 基础
- JavaScript 简介
- JavaScript 使用
- JavaScript 输出
- JavaScript 语句
- JavaScript 注释
- JavaScript 变量
- JavaScript 数据类型
- JavaScript 对象
- JavaScript 函数
- JavaScript 运算符
- JavaScript 比较和逻辑运算符
- JavaScript If...Else 语句
- JavaScript Switch 语句
- JavaScript For 循环
- JavaScript While 循环
- JavaScript Break 和 Continue 语句
- JavaScript 错误 - Throw、Try 和 Catch
- JavaScript 表单验证
- JavaScript 保留关键字
- JavaScript JSON
- javascript:void(0) 含义
- JavaScript 高级
- JavaScript 对象
- JavaScript Number 对象
- JavaScript 字符串(String)对象
- JavaScript Date(日期)对象
- JavaScript Array(数组)对象
- JavaScript Boolean(逻辑)对象
- JavaScript Math(算数)对象
- JavaScript RegExp 对象
- JavaScript BOM
- JavaScript Window - 浏览器对象模型
- JavaScript Window Screen
- JavaScript Window Location
- JavaScript Window History
- JavaScript Window Navigator
- JavaScript 消息框
- JavaScript 计时
- JavaScript Cookies
- HTML DOM
- HTML DOM 简介
- HTML DOM 节点
- HTML DOM 方法
- HTML DOM 属性
- HTML DOM 访问
- HTML DOM - 修改
- HTML DOM - 修改 HTML 内容
- HTML DOM - 元素
- HTML DOM - 事件
- HTML DOM - 导航
- JavaScript HTML DOM EventListener
- AJAX 教程
- AJAX 简介
- AJAX 实例
- AJAX - 创建 XMLHttpRequest 对象
- AJAX - 向服务器发送请求
- AJAX - 服务器响应
- AJAX - onreadystatechange 事件
- AJAX ASP/PHP 请求实例
- AJAX 数据库实例
- AJAX XML 实例
- jQuery 基础
- jQuery 简介
- jQuery 安装
- jQuery 语法
- jQuery 选择器
- jQuery 事件
- jQuery 效果
- jQuery 效果 - 隐藏和显示
- jQuery 效果 - 淡入淡出
- jQuery 效果 - 滑动
- jQuery 效果 - 动画
- jQuery 停止动画
- jQuery Callback 函数
- jQuery - Chaining
- jQuery HTML
- jQuery - 获得内容和属性
- jQuery - 设置内容和属性
- jQuery - 添加元素
- jQuery - 删除元素
- jQuery - 获取并设置 CSS 类
- jQuery - css() 方法
- jQuery - 尺寸
- jQuery 遍历
- jQuery 遍历
- jQuery 遍历 - 祖先
- jQuery 遍历 - 后代
- jQuery 遍历 - 同胞
- jQuery 遍历 - 过滤
- jQuery - AJAX
- jQuery - AJAX 简介
- jQuery - AJAX load() 方法
- jQuery - AJAX get() 和 post() 方法
- jQuery 杂项
- jQuery - noConflict() 方法
- JavaScript 高级教程
- JavaScript 的历史
- JavaScript 实现
- ECMAScript 基础
- ECMAScript 语法
- ECMAScript 变量
- ECMAScript 关键字
- ECMAScript 保留字
- ECMAScript 原始值和引用值
- ECMAScript 原始类型
- ECMAScript 类型转换
- ECMAScript 引用类型
- ECMAScript 运算符
- ECMAScript 一元运算符
- ECMAScript 位运算符
- ECMAScript Boolean 运算符
- ECMAScript 乘性运算符
- ECMAScript 加性运算符
- ECMAScript 关系运算符
- ECMAScript 等性运算符
- ECMAScript 条件运算符
- ECMAScript 赋值运算符
- ECMAScript 逗号运算符
- ECMAScript 语句
- ECMAScript if 语句
- ECMAScript 迭代语句
- ECMAScript 标签语句
- ECMAScript break 和 continue 语句
- ECMAScript with 语句
- ECMAScript switch 语句
- ECMAScript 函数
- ECMAScript 函数概述
- ECMAScript arguments 对象
- ECMAScript Function 对象(类)
- ECMAScript 闭包(closure)
- ECMAScript 对象
- ECMAScript 面向对象技术
- ECMAScript 对象应用
- ECMAScript 对象类型
- ECMAScript 对象作用域
- ECMAScript 定义类或对象
- ECMAScript 修改对象
- ECMAScript 继承
- ECMAScript 继承机制实例
- ECMAScript 继承机制实现
- Google 地图API
- Google 地图API Key
- Google Maps 基础
- Google 地图叠加层
- Google 地图事件
- Google 地图控件集
- Google 地图类型
- Google 地图 API 参考手册
- 地图 API Map() 构造器
- 免责声明