级别: 初级
作者:elprup
2009 年 6 月 17 日
Google Maps API 除了提供能被 Ajax 应用程序调用的 JavaScript 接口之外,还提供了能被 Flash 应用程序调用的 Flex 语言接口。本文就将介绍如何用 Google Maps API for Flash 来开发基于 Flash 的地图应用程序中,关于地图标注的部分。
Flex 简介
Flex 是 Abode 公司贡献的一个开源框架,用于快速构建和维护高度交互并具有丰富表现力的互联网应用( Rich Internet Application )。这些 RIA 应用程序既可以通过 Adobe Flash Player 部署在所有主流的浏览器上,也可以通过 AIR(Adobe Integrated Runtime) 部署在所有主流操作系统的桌面上。
一个 Flex 应用程序通常有 ActionScript 和 MXML 两种代码组成。ActionScript 是一种面向对象的脚本语言,符合 ECMAScript 标准,用于实现 Flex 应用程序的逻辑;MXML 是一种类似于 HTML 和 XML 的标记语言,用于构建 Flex 应用程序的用户界面。Flex 应用程序最终需要被编译成 SWF 文件以运行在 Adobe Flash Player 或 AIR 上。
本文并不详细讲述 MXML 和 ActionScript 的语法,如想了解这两种语言的用法,可以查看 参考资源 中的相关教程。
Google Maps API for Flash 简介
Google Maps API for Flash 使得 Flex 开发人员能够把 Google Map 嵌入到 Flex 应用程序中。该 API 提供了很多实用的工具用来操控 Google Map。利用该 API,您可以处理地图事件、添加地图控件、在地图上添加标记、或者在地图上面画线,也可以利用 Geocoding 将地址转换成经纬度数据。笔者写作期间 Google Maps API for Flash 还不支持 AIR 环境,只能在 Flash Player 里运行。
开始创建简单的地图应用
这里可以参考
http://www.ibm.com/developerworks/cn/web/wa-lo-flexgoogle/
写的一个教程,这个教程详细介绍了地图应用的创建,并且有实例。
在地图上创建标注
首先简单的介绍一下google maps在Flash环境下的标注。标注是作为一个overlay加入应用程序的,英文名为marker,可以再googleAPI中找到
http://code.google.com/apis/maps/documentation/flash/reference.html#Marker
所以我们的任务就是加入一个marker的overlay。下面一段代码就是创建这个marker的overlay的:
var markerA:Marker = new Marker(
new LatLng(48.858842, 2.346997),
new MarkerOptions({
//strokeStyle: new StrokeStyle({color: 0x987654}),
//fillStyle: new FillStyle({color: 0x223344, alpha: 0.8}),
//radius: 12,
//hasShadow: true
}));
googleMap.addOverlay(markerA);
首先创建一个marker对象,其中latlng是googlemap自己定义的表明位置的对象,markerOption用于初始化marker的信息,可以为空,具体的信息可以查找googlemapsapi。最后是把这个图层加入到我们创建好的googlemap对象中。这样,就可以看见图上有标注了。
捕捉标注点击动作
创建标记后,点击标记没有任何反应,于是需要我们来创建一个标记的事件处理函数。marker可以用addEventListener的方法来创建处理鼠标事件的函数。这个函数的第一个参数是鼠标事件,这里特别注意,需要用MapMouseEvent中的动作定义,不能直接写flash中的事件定义。然后是事件处理函数。因为处理函数需要知道marker对象,用来打开marker的窗口,marker需要作为参数传递过去。然而,默认的addEventListener不能传递除鼠标事件外的参数。我在网上查了一下,需要用一下的方式解决,详细的方法可以参考:
http://www.flashj.cn/wp/flashria/addeventlistener事件监听传递参数/
markerA.addEventListener(MapMouseEvent.CLICK, function(e:MapMouseEvent){mark_click(e,markerA)});
private function mark_click(evt:MapMouseEvent,mark:Marker):void{
mark.openInfoWindow(new InfoWindowOptions({title: "Hello", content: "这是我在丹东的家"}));
}
mark_click就是事件处理函数,这样,就可以实现对事件的响应了。
结束语
现在关于GoogleMapsAPI的资料真难找,实现这样的简单功能就用了半天的时间。要多多加油了。看文档要仔细,这样会避免因为字面意思的理解导致的时间的浪费。代码见附件。希望对大家有所帮助。
分享到:
相关推荐
Google Maps API是Google提供的在线地图服务的编程接口,允许开发者在网页或应用程序中嵌入Google地图,实现地图的显示、标注、路径规划等复杂功能。 本书内容涵盖以下知识点: 1. **历史简介**:讲述了Google ...
Google Maps API 是一套强大的工具,允许开发者将谷歌地图集成到自己的网站或应用中,提供交互式地图服务。它支持多种语言,包括JavaScript、PHP、Python等,其中JavaScript API是最常用的一种。 **Google Maps ...
在本文中,我们将深入探讨如何在Qt编程平台上为塞班系统(Symbian)开发Google Maps应用。这个压缩包文件"Google Maps.zip"包含了相关的资源和文档,帮助开发者了解和实现这一功能。 首先,Qt是一个跨平台的应用程序...
这个主题涉及到C#编程语言,以及如何在Windows桌面应用中集成和操作Google Maps API。 首先,让我们了解什么是Google Map二次开发。Google Maps API允许开发者在其应用程序中嵌入Google Maps,实现自定义功能,如...
在本编程实例中,我们将深入探讨如何利用Google Maps API进行地图开发,实现分层地图效果。Google Maps API 是 Google 提供的一个强大工具,允许开发者在网页或其他应用程序中嵌入交互式地图,提供导航、定位、路线...
在DELPHI这个流行的面向对象的编程环境中,我们可以利用谷歌地图API来扩展我们的应用,提供丰富的地理定位服务。 首先,让我们了解如何在DELPHI项目中集成谷歌地图API。`Project1.bdsproj`是DELPHI项目的配置文件,...
这个系统,名为"GMapbook",将集成Google Maps API,为用户提供一个在地图上标注位置并进行留言的功能。以下是一些关键知识点: 1. **Google Maps API**:Google Maps API是Google提供的一项服务,允许开发者将地图...
1. **Google Maps API概念**:它是一套JavaScript库,可以嵌入到网页中,通过编程方式控制Google地图的行为,如加载地图、定位、标注等。 2. **“Hello, World”**:加载API的基本步骤包括在HTML文件中引入API库,...
JavaScript谷歌API地图源码是用于在网页中集成和操作谷歌地图的一种编程接口。这个源码集成了地图的基本功能,如地图的缩放、平移,以及添加标注和气泡提示框,这些都是创建交互式地图应用的关键元素。下面将详细...
在提到的 "My_Map" 文件中,我们可以猜测这是一个与 Google Maps API 相关的示例。Google Maps API 提供了丰富的地图和地理定位功能,包括地图展示、路线规划、地点搜索等。开发者可以使用这个 API 创建自定义的地图...
Google Maps API是一个开放性的应用程序编程接口,由Google公司推出,面向开发者提供地图服务。通过Google Maps API,开发者可以利用Google提供的全球地图数据,在自己的GIS系统中嵌入地图服务。API提供了丰富的...
【标题】"Google地图小示例框架"是一个关于在编程中使用Google Maps API创建简单应用的教程。这个框架提供了一个基础的起点,帮助开发者快速理解如何集成Google Maps服务到自己的项目中,尤其适用于初学者或者需要...
在JavaScript编程领域,使用谷歌地图API(Google Maps API)是一种常见的方法来实现地图相关的功能,如定位、导航、标注和绘图。在这个项目中,"js基于谷歌地图API绘制可编辑圆形与多边形"是一个典型的示例,它展示...
【标题】"AirQualityApp:Google Maps API的未完成实验" 涉及的主要知识点是使用Java编程语言开发一个空气质量应用程序,并结合了Google Maps API来展示环境数据。这个实验项目可能是一个尝试将实时或历史的空气质量...
2. **Google Maps API v3**:谷歌地图API是开发者用于集成谷歌地图服务到网站或应用中的工具。版本3是其最新的版本,提供了一套丰富的功能,包括绘制、标注、路线规划等,并支持离线地图的实现。 3. **离线地图的...
在使用Google地图API进行开发时,"在地图上标记点"是一个常见的需求,这涉及到Google Maps JavaScript API中的Overlay视图概念。Overlay视图允许我们向地图添加自定义的图形元素,比如标记点(Marker)、信息窗口...
在Google Maps API中,"Hello, World!"的例子可能会教你如何在网页上嵌入一个基本的地图视图。这涉及到在HTML中引入API的JavaScript库,设置API密钥,并创建一个地图对象,将地图渲染到指定的DOM元素上。 接下来,...
3. **API密钥**:使用Google Maps API之前,需要在Google Cloud Console中注册项目并获取API密钥,以确保你的应用可以合法地调用Google的服务器资源。 4. **地图初始化**:在HTML页面中,通过JavaScript代码加载...
1. **Google Maps API**:Google Maps提供了JavaScript API,允许开发者在网页或应用中嵌入地图,进行自定义标注、路径规划等功能。在PB 11中,我们需要理解如何使用JavaScript API,并将其集成到PB的Web窗口(Web...