`
datoplay
  • 浏览: 1614236 次
文章分类
社区版块
存档分类
最新评论

谷歌地图开发之入门

 
阅读更多

现在lbs搞的红火的很,基于地图的交友购物交通服务更是多如牛毛,几天就主要对谷歌地图开发一点初步,另外发现mapabc的开发接口很是详细,如果不是

谷歌地图的话,感觉mapabc更容易入门,有很多现成的代码,学习起来更容易,对一些复杂的开发比较适合,例如房地产等开发,不过谷歌地图比较主流,一些简单的

开发还是比较好的使用,官方手册是最好的学习资料http://code.google.com/intl/zh-CN/apis/maps/documentation/javascript/overlays.html,下面就以

Google Maps JavaScript API V3 为例





即使在这个简单的示例中,也有几点需要注意:

  1. 使用script标记来加入 Maps API JavaScript。
  2. 我们创建一个名为“map_canvas”的div元素来承载该地图。
  3. 创建 Javascript 对象常量以保存若干地图属性。
  4. 编写 Javascript 函数以创建“map”对象。
  5. 我们从body标记的onload事件初始化该地图对象。

下文说明了这些步骤。

载入 Google Maps API

<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=set_to_true_or_false"></script>

http://maps.google.com/maps/api/js网址指向 Javascript 文件所在的位置,该文件会载入使用第 3 版 Google Maps API 所需的全部符号和定义。您的网页必须包含指向该网址的script标签。

此标头中的<meta>标签会指定如下内容:即应当以全屏模式显示该地图,且用户不能调整地图尺寸。(有关详细信息,请参见开发移动设备部分。)

请注意,我们还需要设置sensor参数,以指明此应用程序是否使用传感器确定用户的位置。在此示例中,我们将该参数设为变量“set_to_true_or_false”,用于强调您必须将该值显式设为truefalse

地图 DOM 元素

<div id="map_canvas" style="width: 100%; height: 100%"></div>

要在网页上显示地图,我们必须为其留出一个位置。通常,我们的做法是创建一个名为div的元素,然后在浏览器的文档对象模型 (DOM) 中获取此元素的引用。

在上述示例中,我们定义了名为“map_canvas”的<div>并使用样式属性设置其大小。请注意,该尺寸已设置为“100%”,这将会展开地图,使之符合移动设备的屏幕尺寸。您可能需要根据浏览器的屏幕尺寸和填充区域调整这些值。请注意,地图总是会根据其中所包含的元素的大小决定其本身的尺寸,因此,您必须始终在<div>上显式设置一个适用的尺寸。

地图选项

var myLatlng = new google.maps.LatLng(-34.397, 150.644);
var myOptions = {
 zoom: 8,
 center: myLatlng,
 mapTypeId: google.maps.MapTypeId.ROADMAP
};

要初始化地图,我们需要先创建一个包含地图初始化变量的Map options对象。该对象不是构建出来的,而是以对象常量的形式创建出来的。由于我们要将地图的中心设定为某一特定的点,因此,我们还需要创建一个latlng值,以保存此位置信息并将其传递到地图的选项中。有关指定位置的详细信息,请参阅下面的纬度和经度部分。

我们还设置了初始缩放级别,并将mapTypeId设置为google.maps.MapTypeId.ROADMAP。系统支持以下类型:

  • ROADMAP,用于显示 Google Maps 默认的普通二维图块。
  • SATELLITE,用于显示拍摄的图块。
  • HYBRID,用于同时显示拍摄的图块和突出特征(道路、城市名)图块层。
  • TERRAIN,用于显示自然地形图块,自然地形图块中会显示高度和水体特征(山脉、河流等)。

与 Google Maps 第 2 版 API 不同的是,第 3 版中没有设置默认地图类型。您必须明确设置一个初始地图类型,才能查看相应的图块。

google.maps.Map- 基本对象

var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

Map类是表示地图的 JavaScript 类。此类的对象定义了网页上的单个地图。(您可以创建此类的多个实例,每个对象都将在网页上定义一个单独的地图。)我们使用 Javascriptnew操作符创建此类的一个新实例。

创建新的地图实例时,您需要在网页中指定一个<div>HTML 元素作为地图的容器。HTML 节点是 Javascriptdocument对象的子对象,而且我们通过document.getElementById()方法获得该元素的引用。

此代码可定义一个名为map的变量,然后将该变量分配给新的Map对象,同时将该变量传递到在myOptions对象常量内定义的选项中。这些选项将会用于初始化地图的属性。Map()函数称为“构造函数”,其定义如下:

构造函数 说明
google.maps.Map(opts?) 使用opts参数中已传递的可选参数创建新地图。

载入地图

 <body onload="initialize()">

呈现 HTML 网页时,会扩展文档对象模型 (DOM),接收任何外部图像和脚本并将其合并到document对象中。为了确保系统在完全载入网页后才将我们的地图添加到网页上,我们只会在 HTML 网页的<body>元素收到onload事件后,才会执行用于构建Map对象的函数。这样做可以避免出现不可预期的行为,并使我们可以对地图绘制的方式和时间进行更多控制。

body标签的onload属性是事件处理程序的一个示例。Google Maps Javascript API 还提供了一组事件,可供您进行处理以确定状态变化。有关详细信息,请参阅地图事件部分。

查看示例 (map-simple.html)

纬度和经度

我们还需要一种引用各种地图位置的方法。在 Google Maps API 中,google.maps.LatLng对象提供了此类机制。您可以构建一个LatLng对象,以 {纬度, 经度} 的顺序传递其参数:

 var myLatlng = new google.maps.LatLng(myLatitude, myLongitude)

请注意:将“地址”转变为地理地点的过程叫做“地址解析”。此版本的 Google Maps API 可支持地址解析。有关详细信息,请参见服务部分中的地址解析

LatLng对象在 Google Maps API 中用途广泛。例如,google.maps.Marker对象会在其构造函数中应用LatLng,并在地图上所指定的地理位置上添加标记叠加层

地图类型

Google Maps API 中提供了多种地图类型。除了用户熟悉的“绘制”道路地图图块,Google Maps API 还可支持其他地图类型。这些地图类型是通过使用mapTypeId属性,在地图的Map options对象中设置的。

Google Maps API 提供了以下地图类型:

  • MapTypeId.ROADMAP,用于显示默认的道路地图视图
  • MapTypeId.SATELLITE,用于显示 Google 地球卫星图像
  • MapTypeId.HYBRID,用于同时显示普通视图和卫星视图
  • MapTypeId.TERRAIN,用于根据地形信息显示实际地图。

您可以通过调用地图的setMapTypeId()方法更改地图的类型。


分享到:
评论

相关推荐

    谷歌地图开发快速入门

    介绍了google地图API的使用方法。主要是介绍如何使用javascript进行google地图的开发。

    google_map_api_开发快速入门

    google_map_api_开发快速入门

    《Google Android开发入门与实战》.pdf

    第13章 android综合案例二——基于google map开发个人移动地图 221 13.1 项目ui规划 221 13.2 数据存储实现 222 13.2.1 设计数据库及表结构 222 13.2.2 设计sharepreference 存储 223 13.3 项目实现...

    Google Map开发入门好东西

    如果你想调用谷歌地图API进行二次开发,这绝对可以帮得到你

    Google地图API.doc

    Google地图API的入门开发的,Google地图API的入门开发的

    Google.Android开发入门与实战

    本书作者较早就从事Android的研究与开发工作,为了帮助开发者更快地进入Android开发行列,他们不辞辛劳地编写了Android开发教程-《Google Android开发入门与实战》。本书系统讲解了Android软件开发的基础知识,...

    android开发入门与实战(下)

    第13章 Android综合案例二——基于GoogleMap开发个人移动地图 13.1 项目UI规划 13.2 数据存储实现 13.2.1 设计数据库及表结构 13.2.2 设计SharePreference存储 13.3 项目实现流程 13.3.1 创建项目工程 13.3.2 项目各...

    [Android开发从入门到精通].扶松柏.扫描版

    《Android开发从入门到精通》包括Android世界、界面布局实战演练、基本控件实战演练、数据存储实战演练等内容。...第9章 Google地图实战演练 第10章 GoogleApI实战演练 第11章 游戏实战演练 第12章 优化和发布项目

    google地图开发程序

    google map 开发代码,适合初学者做参考入门。

    《Java和Android开发实战详解》第18章 Google地图与定位服务代码-by 南邮-陈杨

    第18章讲解了GPS定位服务与Google地图开发的知识。  《Java和Android开发实战详解》适合Android开发入门者、Java程序员,以及作为大中专院校相关专业师生的学习用书,也可作为培训学校的教材。 第18章 Google地图...

    Google Android开发入门与实战的代码

    Google Android开发入门与实战的代码 1章 掀起你的盖头来——初识Android. 1 1.1 认识Android 1 1.2 Android的背景 2 1.2.1 Android的历史 2 1.2.2 Android的发展 2 1.3 我的Android我做主 2 ...

    android开发入门与实战(上)

    第13章 Android综合案例二——基于GoogleMap开发个人移动地图 13.1 项目UI规划 13.2 数据存储实现 13.2.1 设计数据库及表结构 13.2.2 设计SharePreference存储 13.3 项目实现流程 13.3.1 创建项目工程 13.3.2 项目各...

    google_map_api_开发快速入门.doc

    Google Maps API 是 Google 自己推出编程 API ,可以让全世界对 Google Maps 有兴趣的程序设计师自行开发基于 Google Maps 的服务,建立自己的地图网站。以下是我在 Google Maps API 开发过程中找到的...

    google Map开发

    Android google Map入门 MKMapView(ios简单的地图实现) 网站google Map入门

    android开发入门教程

    第13章 Android综合案例二——基于GoogleMap开发个人移动地图 13.1 项目UI规划 13.2 数据存储实现 13.2.1 设计数据库及表结构 13.2.2 设计SharePreference存储 13.3 项目实现流程 13.3.1 创建项目工程 13.3.2 项目各...

    网页游戏开发入门教程III(简单程序应用)

    模板:简单说明 地图:详细介绍了类似google地图拖动的功能。 道具:简单道具、合成道具的实现思路 角色属性:简单说明 记时器:实现思路 事件控制:实现思路,部分伪代码 战斗:简单思路

    Android入门到精通源代码.

    《Android从入门到精通》 第1章 初识Android 1.1 什么是Android 1.1.1 移动信息设备分类 1.1.2 Open Handset Alliance和 Android 1.2 Android简介 1.2.1 Andriod的历史 1.2.2 Andriod的未来 1.2.3 Andriod平台的技术...

Global site tag (gtag.js) - Google Analytics