google maps 基础


创建一个简单的 google 地图

现在让我们创建一个简单的 google 地图。

以下是显示了英国伦敦的 google 地图:

实例

<!doctype html><html><head><script src="https://maps.googleapis.com/maps/api/js?key=aizasydjw4jsplnkgv6jfm3b5edp5ywgdqlwdmc&callback=initmap" async defer></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)进行渲染页面内容。

提示〖tips〗: 应该注意的是一些"混杂模式 "中的css并不能使用于标准模式中。在具体的应用中,所有〖suǒ yǒu〗基于百分比的大小都必须从父块元素继承 。如果在父模块中没有指定大小,默认值为 0 x 0 像素。如果你想使用百分比,可以〖 kě yǐ〗在<style> 标签中声明,如下所示:

<style type="text/css">
html {height:100%}
body {height:100%;margin:0;padding:0}
#googlemap {height:100%}
</style>

这个样式声明表明地图模块的(googlemap)应html高度〖 dù〗为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 参数是必须的,该参数用于指明应用程序是否使用一个传感〖gǎn〗器 (类似 gps 导航) 来定位用户的位置〖wèi zhi〗。参数值可以〖 kě yǐ〗设置为 true 或者 false。js随机数

https

如果你的应用是安全〖ān quán〗的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>

异步加载

同样我们也可以在页面完全〖wán quán〗载入后再加载 google 地图 api。

以下实例使用了 window.onload 来实现页面完全〖wán quán〗载入后加载 google 地图 。loadscript() 函数创建了加载 google 地图 api <script> 标签。此外在标签的末尾添加了callback=initialize 参数, initialize()作为回调函数会在api完全载入后执行:

实例

function loadscript(){var script=document.createelement("script");script.type="text/javascript";script.src="https://maps.googleapis.com/maps/api/js?key=aizasybze9xaesye6kde-3ht-6b90nfwukcs8yw&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(中心〖zhōng xīn〗点)

中心〖zhōng xīn〗属性指定了地图的中心,该中心通过坐标(纬度〖 dù〗,经度)在地图上创建一个中心点。

zoom(缩放级数)

zoom 属性指定了地图的 缩放级数。zoom: 0 显示了整个地球地图的完全缩放。

maptypeid(地图的初始类型)

maptypeid 属性指定了地图的初始类型。

maptypeid包括如下四种类型:

  • google.maps.maptypeid.hybrid:显示卫星图像的主要街道透明层
  • google.maps.maptypeid.roadmap:显示普通的街道地图
  • google.maps.maptypeid.satellite:显示卫星图像
  • google.maps.maptypeid.terrain:显示带有自然〖natural〗特征(如地形和植被)的地图

在哪里显示 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) 创建了一个新的地图。

提示〖tips〗:如果想在页面中创建多个地图,你只需要添加新的地图对象即可。

以下实例定义了四个地图实例 (四个地图使用了不同的地图类型):

实例

var map=new google.maps.map(document.getelementbyid("googlemap"),mapprop);var map2=new google.maps.map(document.getelementbyid("googlemap2"),mapprop2);var map3=new google
新北市中和区一处工厂上午〖morning〗8时许惊传火警,警消获报后派遣60多部各式救援车辆到场,经过抢救后于下午13时扑灭
,依《药事法》第21条第3款规定,可依同法第90条,处新台币3万元以上2,000万元以下罚锾
上海铁路〖railroad〗部门表示,会根据风速雨量的实际情况,?袢⊥T恕⑼J邸⑾匏佟⒌却胧婕吹鞑榱谐悼?蟹桨福?匀繁3丝桶踩
,同航班乘客栾女士表示,我们还是希望了解事发时,航班上出现的一系列情况
高雄、松山两处机场跑道已使用多年,为提供航机更好的起降环境,民航局投入近20亿元经费,今年起陆续施工整建
高雄昨(19)日傍晚豪雨伴随闪电来袭,多处低洼地区排水设施宣患埃?渲懈咝坌
台湾青年来杭创业创新,符合我市相关人才引进条件的,可享受相关优惠政策
.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);