A-A+

在Joomla网页中轻松插入Google Map地图

2008年05月14日 Joomla 暂无评论 阅读 399 次浏览 次

Google Map 是什么?这是Google公司(谷歌)推出的一项地图服务,我私下把它归为一种GIS服务。它不仅仅
是一幅简单的电子地图图片,而是一种互动的、内涵丰富的GIS集成。当你打开http://maps.google.com/ 就能看
到美利坚合众国的版图——Google公司是美国的,他们当然要首先展示自己的祖国。该页面上的地图标注全是
英文。去年我还曾经很困惑,为何没有中文版?毕竟母语还是方便啊。前不久,看到一个大好消息,2007年2
月9日,Google推出了中文版地图

Google的地图不仅展示常规地图的外观,而且可以随时切换到“卫星地图”状态,查看真实的地貌。这一点得益于
2004年他们富有远见地收购了Keyhole地图公司。在Google的地图上,用户可以搜索地名或者邮编,从而迅速
定位。当然,你也可以用鼠标拖动地图,浏览一遍全球的山山水水,还可以查询从甲地至乙地的详细路线。为了
方便其他网站在网页中插入互动的Google地图而不是jpg格式图片,Google推出了专用API接口。不过,目前只
支持英文版的地图。刚才我还看了一下官方网站,确认目前Google 地图中不支持中文版的API。因此,插入到
网页中的地图看上去是下面这个样子:

 

 {mosmap width='350'|height='300'|lat='29.6578'|lon='91.1170' |mapType='Satellite' |marker='1'  |lang='zh'  | text='<b>布达拉宫</b></br></br><a href='http://www.google.cn/custom?complete=1&hl=zh-CN&inlang=zh-CN&ie=GB2312&oe=GB2312&newwindow=1&client=pub-3146111622761794&cof=FORID%3A1%3BGL%3A1%3BS%3Ahttp%3A%2F%2Fwww.tcmbook.net%3BLH%3A44%3BLW%3A214%3BLBGC%3A336699%3BLC%3A%230000ff%3BVLC%3A%23663399%3BGFNT%3A%230000ff%3BGIMP%3A%230000ff%3BDIV%3A%23336699%3B&q=%B2%BC%B4%EF%C0%AD%B9%AC&meta=' target='_blank'>布达拉宫是拉萨城的标志</a>'|tooltip='布达拉宫'}

 

 

这个地图是怎么插入到网页中去的呢?这就要说到一个Joomla的小插件,也叫触发器——Plugin GoogleMaps
for Joomla。该触发器只有10Kb大小,安装并发布之后,就能遵照它的语法通过一句代码插入地球上任意一处
的Google地图到网页中。

不过,仅仅安装这个触发器是不够的。为了避免地图资源被滥用造成服务器瘫痪,Google规定网站要插入他们
的地图,必须申请Google Maps API Key,并且仅限于顶级域名。也就是说,使用http://localhost/ 这样的本地测
试服务器或者 http://www.joomlagate.com/~user8868 这样的二级域名的用户无法享用这一服务。这个Key当然
也是免费的,申请的网址是:http://www.google.com/apis/maps/signup.html 。

注意:在申请这个Key的时候,还要求你同时拥有一个Google帐户,也就是一个@gmail.com 或者 @google.com
的信箱。Gmail信箱也是免费注册的,如果哪位读者还没有邀请函,可以到本站论坛发帖,我送你一个邀请(先到
先得,送完即止,呵呵)

拿到了Google Maps API Key,安装了Plugin GoogleMaps for Joomla触发器,我们就可以动手了。

参数设置

首先在网站后台点击此触发器的名称进入其参数设置页面。在这里,设置一些参数的默认值。你可以修改下列参数
中的任何一个,当然你也可以什么都不填,在插入代码时还可以直接附带参数:

  1. width(宽度), height(高度):设置一个你想要的数值,不过如果太小地图展示的画面就太少了。 
    你必须在数字后面紧接着填写其单位,例如 100% 或 400px
  2. lon(经度), lat(纬度):可以通过搜索来确定这个坐标值(搜索时可能需要包括街道,门牌号,邮编,城市
  3. 名称以及国家名称)
  4. zoom(缩放):可以选择 Google Maps API 中规定的任何选项.
  5. zoomType(缩放类型):可选 Small 或者 Large, 这个选项控制地图上展示的缩放工具类型,或者选择 None
  6. 则不显示缩放工具。
  7. zoomNew:设为 1 表示在地图上双击鼠标后连续放大,设为 0 则表示在地图中央每点击一次鼠标,只放大一
  8. 次。(默认为 0)
  9. mapType(地图类型):可以选 Normal (正常地图,默认值), Satellite(卫星地图) 或 Hybrid(混合地图).
  10. showMaptype(显示地图类型):设为 0 表示地图上不显示地图类型选择按钮,设为 1 则会在地图上显示地图
  11. 类型的选择按钮(默认是 1)
  12. Overview(概览):设为 0 表示在地图右下角没有概览窗,设为 1 表示那个位置有概览窗,设为 2 表示概览功
  13. 能启用,但是初始化时处于隐藏状态。(默认是 0)
  14. text(文字):这个文字用作地标。文字将以气球的样式显示在地图上.如果你不想让文字出现,只需设置为 text="
  15. 就行了。文字如果显示,将位于地图中的某个指定位置的“图钉”标记上方。通常情况下,这里的文字用于显示地址
  16. 或者一个超级链接。 要在此处使用超级链接,请用如下格式: <a href=linkAddress target=linkTarget title=linkTitle>
  17. linkName</a>. 千万不要使用双引号!
  18. marker(地标):表示在展示地图时打开信息窗 (1,默认)还是关闭信息窗(0)。
  19. tooltip(提示):表示当鼠标指向地标时,可以显示一个气泡样的提示信息(不要使用 HTML)
  20. address(地址):此处填写的地址用于搜索某个坐标(经度/纬度 为空时)
  21. align(对齐方式):地图在网页中放置的位置,三个选项 left(左对齐), right(右对齐)或者 center(居中)
  22. key:表示Google Map API Key (可选). 你可以在后台设定,也可以在网页中插入触发器代码时再填写这个key。如果
  23. 你还没有 Google Maps Key,那么点击这里注册一个.

 

在网页中插入代码

在Joomla网页上,你可以在任何位置——不管是简介文字还是正文部分——利用带有参数的{mosmap}标记来插入一幅
Google地图。语法(为了防止自动转换成地图,我把代码两端的大括号改变了一下,复制后请修改):

 

{mosmap width='500'|height='400'|lat='52.0523'|lon='4.4471'| zoom='3'|zoomType='Large'|zoomNew='0'|mapType=
'Satellite'|showMaptype='1'| overview='0'|text='sv DWO'|tooltip='DWO'|marker='1'| align='center'|key='googlekey'}

 

这段代码中的各个参数其含义已经在上面解释过,相邻两个参数之间用竖线隔开。如果不附带任何参数,那么单单一个
{mosmap}标记只能显示后台默认参数所确定的地图。也就是说,插入的地图都是一样的。为了针对不同地点插入不同地
区的地图,就必须至少附带一个经度、一个纬度两个参数来确定一个位置。

 

插入之后检查一下该页面的 html 代码,以确认在{和 }之间没有 <br /> 或含有一个回车符. 触发器命令必须在同一行!在同一个
页面中,可以用一次,两次,或者多次来显示源于多个地点的多个地图。比如,现在你阅读的这个页面中就插入了两幅地图,
并且大小不同。

下面地图显示的是我昨天晚上去吃饭的地方——位于北京西翠路的秦唐食府。

 {mosmap width='500'|height='500'|lat='39.9052'|lon='116.2732'|mapType='Satellite' |marker='1' |zoom='14'  |lang='zh' |
text='<b>秦唐食府</b></br></br><a href='http://www.sqrj.com/' target='_blank'>三秦人家饭店</a>的第一个分店'|tooltip='秦唐
食府'}

还有一个问题,那就是如何知道你要展示的位置的精确坐标?又一个办法就是从Google Map官方网站找到该位置然后复制其
坐标。我建议你使用Google Earth软件,安装到电脑上以后,可以展示更丰富的地图信息,当鼠标指向地球上的任意位置时,
该软件的状态栏就会自动显示该地的经度和纬度。

补充:有人问我上面地图中的气泡里面,“三秦人家饭店”这个超级链接怎么实现。很简单,在插入地图代码时,text='' 这个参数
中可以插入HTML标记,那么我们用<a>标记就能插入一个链接,用<br/>标记就能插入一个换行符。提醒一点:在<a>标记里
面的 href='' 这里,一定要用单引号,不要用双引号。如果你希望该链接在新窗口中打开,还要在 <a> 标记里面加上
target='_blank' 属性,同样是单引号。

怎么样?利用Plugin GoogleMaps插入地图非常方便,美中不足的就是Google还没有提供中文地图API,否则我们看到的地图就
更亲切了。此插件最新版本是2.6版,本站已经提供简体中文版下载。

Google Map现在不仅有了移动版Google Map Mobile,而且支持显示实时交通拥堵情况。相信以后通过API在网页中可以使用更
多地图功能。在此白某也希望国内的编程高手能够以Google Maps为基础继续改进,为我们开发出更多新酷功能。请参考Google
Maps API 说明。

 

评论已关闭!

Copyright © 香港虚拟主机_美国虚拟主机_香港服务器_美国服务器租用托管 保留所有权利.   Theme  Ality 蜀ICP备14006632号-1

用户登录