MapABC地图API应用举例

北京图盟科技有限公司(以下简称Mapabc)是中国领先的基础地图服务提供商,Mapabc使合作伙伴无需自建地图平台,只需从远程调用Mapabc.com,就可以获取基础地图、黄页数据、公交换乘、驾车路径等基础地图服务资源。MapABC 地图API是一组JavaScript类及函数。使用这些API,您可以方便的在您的网页中使用MapABC提供的地图及搜索功能。

1. Hello World

让我们从最简单的“Hello, World”开始吧。下面的例子显示一个500*400的地图,中心点位于北京的故宫博物院。
HTML代码


[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

在上面的例子中,地址http://api.mapabc.com/fmp/v1.0/js/fmp.js包含了在您的页面放置MapABC地图的全部JavaScript代码。您的页面必须包含指向这个地址的 script 标记,并加上您的 API Key。例如,如果您的 API Key 是"123456",那么您的 script 标记应该类似这样:

<script type="text/javascript" src="http://api.mapabc.com/fmp/v1.0/js/fmp.js?key=123456"></script>

表示地图的类是 MMap。这个类代表页面上的单个地图。您可以根据需要创建任意多个该类的实例(一个实例对应页面上的一个地图)。在创建地图实例时,您需要指定一个页面上已命名的元素(通常是 div 元素)作为地图控件的容器。除非您明确地指定了地图的大小,默认情况下,地图大小会取决于容器的尺寸。

2.地图基本操作

地图API支持基本的地图操作,如单击平移地图、拖动平移地图、双击放大、滚轮放大等,这些功能也可以通过JavaScript代码调用。

下面的例子运行后,在页面下方有四个按钮,分别是“拉框放大”、“拉框缩小”、“测距”和“平移地图”。测距时可以双击结束测距,也可以点击“平移地图”退出测距状态。
HTML代码


[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

下面这个例子先显示一张地图,等待2秒钟后,地图的中心会移动到一个新的坐标上。
HTML代码


[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

您可以根据需要,加载或卸载地图上的鹰眼,还可以设置鹰眼的大小比例。
HTML代码


[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

小提示:修改代码中的鹰眼比例,点击“运行代码”,看看有什么效果。

3. 在地图上标注

MapABC地图API提供丰富的标注功能。这个例子在地图上放置一个标注,点击标注,会打开该标注的信息窗口。当然,您也可以用方法添加标注、删除标注、打开信息窗口。
HTML代码


[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

MapABC地图API不仅提供缺省的标注样式,还允许您用图片和Flash动画标注。下面这个例子与前一个例子的功能相同,只不过是把标注点换成了Flash动画。
HTML代码


[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

小提示:用您自己的Flash动画URL或者图片的URL替换代码中的……,看看运行的效果。

您可以一次标注多个点,标注后,为了同时在地图内显示这些标注,地图会自动调整视野。
HTML代码


[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

下面这个例子演示了在地图上画多折线的功能。您可以设置多折线的样式。
HTML代码


[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

小提示:您可以试着修改多折线的样式参数,比如修改宽度、透明度、颜色,然后运行一下,看看效果如何。

在实现拉框搜索、拉框选择时都需要用到矩形。下面这个例子演示了如何在地图上画一个矩形。
HTML代码


[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

4. 画公交线路

在地图上画一条公交换乘的路线,并且有小车演示行驶过程,其中还有一个换乘点。您可能会奇怪公交线路的数据是从哪取得的,请参考公交查询API。
HTML代码


[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

5. 用鼠标画图

使用MapABC地图API您可以随心所欲的用鼠标在地图上绘制几何图形。下面的例子演示了使用鼠标画点、多折线、多边形、矩形、圆、正多边形等几何图形,也演示了如何删除绘制的图形。
HTML代码


[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

6. 事件处理

事件是面向对象编程的强大工具,可以提高应用的交互性。MapABC地图API提供了大量的事件,让您轻松开发更多互动应用。

鼠标单击事件是最常用的事件,注册一个单击事件的事件处理函数,当鼠标在地图上单击时,会把地图的id,当前的缩放级别,鼠标点击处的坐标返回到事件处理函数里。
HTML代码


[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

7. 右键菜单

想实现更多的定制化?MapABC地图API让您随意定义右键菜单。您可以增加自己的右键菜单选项。点击右键菜单,选择菜单项后,地图引擎会抛出右键菜单点击事件,并传出当前点击的参数。您可以在右键菜单事件处理函数里添加代码,实现菜单项对应的功能。
HTML代码


[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

8. 地图编辑功能

想做一个像MapABC炫地图(diy.mapabc.com)那样的应用吗?MapABC地图API提供了地图编辑接口,您可以在地图上标注,或者编辑标注的内容。不仅点可以用来标注,线和面都可以作为标注的工具。
HTML代码


[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

在地图上编辑的内容可以导入、导出,因为您可以把编辑好的内容导出后保存起来,使用时再导入到地图中即可重现原有的内容。
HTML代码


[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

9. 搜索功能

地图最常用的用法就是查询了,下面这个例子使用了MapABC 地图API的搜索功能,根据输入的关键字查询结果,并把查询的结果标注到地图上。
HTML代码


[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

中心点查询可以让您实现如“查找在故宫周围1公里范围内所有的餐厅”这样的功能。下面这个例子需要输入两个关键字,一个关键字用于定位中心点,另一个关键字用于在中心点附近查询。
HTML代码


[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

想任意划定搜索的范围吗?MapABC地图API最神奇的查询功能莫过于空间查询了,您可以在地图上划定任意形状区域,在该区域内用关键字搜索。下面的例子演示了用矩形划定搜索范围。参考API 类手册,稍微修改一下代码,您可以试试用多边形来划定搜索范围。
HTML代码


[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]


评论: 0 | 引用: 0 | 查看次数: 7382
发表评论
登录后再发表评论!