关于Google Map API的使用说明

1.Google Map API介绍

a) Google 地图 API 是一种通过 JavaScript 将 Google 地图嵌入到您的网页的 API。该 API 提供了大量实用工具用以处理地图(正如 http://maps.google.com 网页上的地图),并通过各种服务向地图添加内容,从而使您能够在您的网站上创建功能全面的地图应用程序。

2.相关函数调用以及在实际项目中的应用

a) 首先注册一个google帐号,http://code.google.com/intl/zh-CN/apis/maps/signup.html随后在上述地址上面生成对应的Key,比如我们得到的Key为ABQIAAAAhrsyA85kX5AhsROY61ghERSePc6gwvi5Rm1hdFkqvyx4TFycQxSUo39qJRxqmJjnbPYhTiCZ8RbpWQ,这个Key在加载google map对应的js的时候需要用到。

b) 第一个简单的例子

我们先引入如下js脚本

<script src="http://ditu.google.cn/maps?file=api&v=2&key=ABQIAAAAhrsyA85kX5AhsROY61ghERSe1hdFkqvyx4TFycQxSUo39qJRxqmJjnbPYhTiCZ8RbpWQ&sensor=true" type="text/javascript">

</script>

然后为我们的主窗体添加如下事件

view plaincopy to clipboardprint?
<body οnlοad="initialize()" οnunlοad="GUnload()">

<div id="map_canvas" style="width:500px;height: 300px"></div>

</body>
<body οnlοad="initialize()" οnunlοad="GUnload()">

<div id="map_canvas" style="width:500px;height: 300px"></div>

</body>

编写如下函数加载地图到id为map_canvas的DIV中

view plaincopy to clipboardprint?
function initialize() {

var map = new GMap2(document.getElementById("map_canvas"));

map.setCenter(new GLatLng(39.9493, 116.3975), 13);

}
function initialize() {

var map = new GMap2(document.getElementById("map_canvas"));

map.setCenter(new GLatLng(39.9493, 116.3975), 13);

}

同时,我们可以设置一些标注点,比如

view plaincopy to clipboardprint?
function createMarker(point, number,map) {

var marker = new GMarker(point);

var message = [ "这", "是", "个", "秘密", "消息" ];

marker.value = number;

GEvent.addListener(marker, "click", function() {

var myHtml = "<b>#" + number + "</b><br/>"

+ message[number - 1];

map.openInfoWindowHtml(point, myHtml);

});  
return marker;

}
function createMarker(point, number,map) {

var marker = new GMarker(point);

var message = [ "这", "是", "个", "秘密", "消息" ];

marker.value = number;

GEvent.addListener(marker, "click", function() {

var myHtml = "<b>#" + number + "</b><br/>"

+ message[number - 1];

map.openInfoWindowHtml(point, myHtml);

});
return marker;

}

Point 为一个GLatLng类型的对象,number为任意字符串,map为当前地图。new GMarker(point)初始化一个标注点,参数为该点的GLatLng,
view plaincopy to clipboardprint?
GEvent.addListener(marker, "click", function() {

var myHtml = "<b>#" + number + "</b><br/>"

+ message[number - 1];

map.openInfoWindowHtml(point, myHtml);

});
GEvent.addListener(marker, "click", function() {

var myHtml = "<b>#" + number + "</b><br/>"

+ message[number - 1];

map.openInfoWindowHtml(point, myHtml);

});

为该标注点marker注册一个click事件,当单击该标注点的时候会弹出一个带有箭头的矩形InfoWindow,由map.openInfoWindowHtml(point, myHtml)函数实现。

在Googel地图中,相关的放大或者缩小按钮,视图模式都是由控件标识,添加控件时不指定相应的位置,比如
map.addControl(new GSmallZoomControl()); 加入一个放大缩小控件

map.addControl(new GMapTypeControl());加入一个地图类型控件,可以切换为卫星视图或者地图视图

GLatLng表示一个含有经度和纬度的一个类,表示了某个地址在地理信息系统中的唯一位置,下面介绍如何得到某点具体的GLatLng

打开google地图,在google地图上查询到 绵阳市公安局涪城区分局的具体地址为:四川省绵阳市四川省绵阳市红星街95号,在该标注点上点击右键:在此放置居中位置 单击地图上分享连接这个按钮

分析第一个地址
http://ditu.google.cn/maps?f=q&source=s_q&hl=zh-CN&geocode=&q=%E5%9B%9B%E5%B7%9D%E7%9C%81%E7%BB%B5%E9%98%B3%E5%B8%82%E5%9B%9B%E5%B7%9D%E7%9C%81%E7%BB%B5%E9%98%B3%E5%B8%82%E7%BA%A2%E6%98%9F%E8%A1%9795%E5%8F%B7&sll=31.454527,104.755797&sspn=0.019037,0.032015&brcurrent=3,0x36f19f6075de254f:0xb07672e7bcd23382,0,0x36f141eb87c896a1:0x2d9e6913011d7e82%3B5,0,0&ie=UTF8&hq=%E7%BB%B5%E9%98%B3%E5%B8%82%E5%85%AC%E5%AE%89%E5%B1%80%E6%B6%AA%E5%9F%8E%E5%8C%BA%E5%88%86%E5%B1%80&hnear=%E5%9B%9B%E5%B7%9D%E7%9C%81%E7%BB%B5%E9%98%B3%E5%B8%82%E6%B6%AA%E5%9F%8E%E5%8C%BA%E7%BA%A2%E6%98%9F%E8%A1%9795%E5%8F%B7%E7%BB%B5%E9%98%B3%E5%B8%82%E5%85%AC%E5%AE%89%E5%B1%80%E6%B6%AA%E5%9F%8E%E5%8C%BA%E5%88%86%E5%B1%80&filter=0&update=1&ll=31.45454,104.755626&spn=0.002306,0.003079&z=18&iwloc=A

注意红色的地方就是 四川省绵阳市四川省绵阳市红星街95号 在GIS中的具体位置
function initialize() {

var map = new GMap2(document.getElementById("map_canvas"));

map.setCenter(new GLatLng(31.45454, 104.755626), 13);

} 更改里面的GLatLng就可以得到四川省绵阳市四川省绵阳市红星街95号附近的地图

Google Map提供了灵活的API接口功能,能让使用者灵活的应用,比如在地图上加上标注
     和显示一些与该点有关的信息,比如这些信息,同时通过Googel Map 提供的服务您还可以查阅两点间的行车路线以及步行路线。可以使用如下函数实现:

view plaincopy to clipboardprint?
function find(start, end) {

map = new GMap2(document.getElementById("map_canvas"));

map.addControl(new GSmallZoomControl());

map.setCenter(new GLatLng(28.549809, 102.177082), 9);

directionsPanel = document.getElementById("route");

directions = new GDirections(map, directionsPanel);

directions.load("from: " + start + " to: " + end, {

travelMode : G_TRAVEL_MODE_DRIVING

});

}
function find(start, end) {

map = new GMap2(document.getElementById("map_canvas"));

map.addControl(new GSmallZoomControl());

map.setCenter(new GLatLng(28.549809, 102.177082), 9);

directionsPanel = document.getElementById("route");

directions = new GDirections(map, directionsPanel);

directions.load("from: " + start + " to: " + end, {

travelMode : G_TRAVEL_MODE_DRIVING

});

}

Start为起始地点,end为结束地点,div:route用于显示行车路线信息,travelMode的可选项为G_TRAVEL_MODE_DRIVING或者G_TRAVEL_MODE_WALKING

GoogleMap API入门使用相关推荐

  1. openresty开发系列11--openresty的api入门

    openresty开发系列11--openresty的api入门 1)ngx_lua模块的hello world 编辑nginx下conf配置文件nginx.conf # vi nginx.conf ...

  2. Windows API入门系列之七 -完善MessageBox

    原创文章,转载请注明作者和出处 http://www.cnblogs.com/beyond-code SDK编程群号:81543028 欢迎加入 各位不好意思,前几天有些事很忙,昨天才稍稍有时间空闲下 ...

  3. Hadoop MapReduce编程 API入门系列之压缩和计数器(三十)

    不多说,直接上代码. Hadoop MapReduce编程 API入门系列之小文件合并(二十九) 生成的结果,作为输入源. 代码 package zhouls.bigdata.myMapReduce. ...

  4. HBase编程 API入门系列之HTable pool(6)

    HTable是一个比较重的对此,比如加载配置文件,连接ZK,查询meta表等等,高并发的时候影响系统的性能,因此引入了"池"的概念. 引入"HBase里的连接池" ...

  5. Angular和.NET Core Web API入门应用程序

    下载源160.2 KB 您可以在此处查看此项目的源代码和最新更新 这是Angular/.NET Core Web API入门应用程序,具有添加.编辑和删除客户的基本功能,因此您可以将其用作构建应用程序 ...

  6. 高德地图怎么画圈_高德地图 Javascript API 入门(二)

    高德地图 Javascript API 入门(二) 鼠标工具插件 测量距离 JS map.plugin(["AMap.MouseTool"],function () { var m ...

  7. IOS开发百度地图API入门到精通-用点生成路线,导航,气泡响应

    (转)IOS开发百度地图API入门到精通-用点生成路线,导航,气泡响应 IOS百度地图API开发自定义气泡,点击气泡自动生成路线,以及拖拽 IOS百度地图开发POISearch搜索附近停车场,附近加油 ...

  8. Hadoop MapReduce编程 API入门系列之查找相同字母组成的字谜(三)

    找出相同单词的所有单词.现在,是拿取部分数据集(如下)来完成本项目. 项目需求 一本英文书籍包含成千上万个单词或者短语,现在我们需要在大量的单词中,找出相同字母组成的所有anagrams(字谜). 思 ...

  9. 淘宝 TOP 平台Open API入门篇

    淘宝 TOP 平台Open API入门篇 [未经本人许可 严禁转载] 前不久刚写了一篇关于淘宝Open API的入门教程,具体见http://blog.csdn.net/hereweare2009/a ...

最新文章

  1. 释放联接新价值,华为提出“1+N”5G目标网,推动运营商构筑四大数字化转型的核心能力
  2. MPB:军科院杨瑞馥、毕玉晶等-​​培养组学方法优化(视频)
  3. 《Visual C++数字图像模式识别技术详解(第2版)》一3.4 形状特征
  4. CTFshow 反序列化 web257
  5. python中sorted()函数的用法
  6. 20万人仍然每天活跃在“死”掉的ofo APP上:这已变成一个返利应用
  7. 中国石油计算机第二次在线作业,中国石油大学(北京)计算机应用基础第二次在线作业1教程.docx...
  8. junit可执行但控制层无法执行_Junit测试时ContextLoader.getCurrentWebApplicationContext()返回空值...
  9. 基于Spring开发的DUBBO服务接口测试
  10. vb如何测试连接mysql_VB怎么连接访问Access数据库?
  11. .Net Core----关于MVC中TempData持久化问题
  12. 学习jQuery formValidator
  13. System学习笔记005---如何查看远程的一台电脑的某个端口有没有打开_centos查看某个端口是否打开
  14. error: src refspec main does not match any
  15. 网络管理员掌握的学习方法
  16. win10 小娜搜索没法用(语音能用 搜索框不能用)
  17. ERP/MIS系统中集成命令行式的功能调用
  18. 查看linux版本是多少位
  19. ZZULIOJ1086: ASCII码排序(多实例测试)
  20. 自适应流媒体传输(五)——正确认识码率切换

热门文章

  1. Dom4J__ZZ_我的示例代码
  2. Codeforces Round #228 (Div. 2)
  3. Nacos 快速开始
  4. Spring Hibernate集成示例教程
  5. 分布式事物框架--EasyTransaction的入门介绍
  6. 磁盘分区20191017
  7. VSCode 实时预览HTML网页效果 - Live Server插件
  8. 【Python】二维数据格式化
  9. 【网站建设】简单一行代码,为网站开启深色模式支持
  10. UI自动化测试 appium简介