Google Map API的简单应用

系统 1997 0

原文引自:http://blog.csdn.net/myxx520/archive/2010/02/24/5321352.aspx

关于 GoogleMapAPI 的使用说明

1. GoogleMapAPI 介绍

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 在加载 googlemap 对应的 js 的时候需要用到。

b) 第一个简单的例子

我们先引入如下 js 脚本

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

</script>

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

  1. < body onload = "initialize()" onunload = "GUnload()" >
  2. < div id = "map_canvas" style = "width:500px;height:300px" > </ div >
  3. </ body >

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

  1. function initialize(){
  2. var map= new GMap2(document.getElementById( "map_canvas" ));
  3. map.setCenter( new GLatLng(39.9493,116.3975),13);
  4. }

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

Point 为一个 GLatLng 类型的对象, number 为任意字符串 ,map 为当前地图。 newGMarker(point) 初始化一个标注点,参数为该点的 GLatLng

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

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

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

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

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

Google Map API的简单应用

分析第一个地址
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 中的具体位置
functioninitialize(){

varmap=newGMap2(document.getElementById("map_canvas"));

map.setCenter(newGLatLng( 31.45454 , 104.755626 ),13);

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

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

  1. function find(start,end){
  2. map= new GMap2(document.getElementById( "map_canvas" ));
  3. map.addControl( new GSmallZoomControl());
  4. map.setCenter( new GLatLng(28.549809,102.177082),9);
  5. directionsPanel=document.getElementById( "route" );
  6. directions= new GDirections(map,directionsPanel);
  7. directions.load( "from:" +start+ "to:" +end,{
  8. travelMode:G_TRAVEL_MODE_DRIVING
  9. });
  10. }

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

  1. GEvent.addListener(marker, "click" , function (){
  2. var myHtml= "<b>#" +number+ "</b><br/>"
  3. +message[number-1];
  4. map.openInfoWindowHtml(point,myHtml);
  5. });
  1. function createMarker(point,number,map){
  2. var marker= new GMarker(point);
  3. var message=[ "这" , "是" , "个" , "秘密" , "消息" ];
  4. marker.value=number;
  5. GEvent.addListener(marker, "click" , function (){
  6. var myHtml= "<b>#" +number+ "</b><br/>"
  7. +message[number-1];
  8. map.openInfoWindowHtml(point,myHtml);
  9. });
  10. return marker;
  11. }

Google Map API的简单应用


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论