现在的位置: 首页 >> 网页设计 >> 网页设计文摘 >> Google Maps API 简易使用文件
添加时间:2005-10-30 来源:网教中国 作者:
Google Maps API 简易使用文件

Info Window
除了标示地点外,你也可以在 Marker 上显示额外的信息。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script src="http://maps.google.com/maps?file=api&v=1&key=ABQIAAAAuG7oWOtWqEZB1PNN_pEvsBQ5_R83DoQvDaRjoUU
cz5SOzE95uxQPI9Bh8GLJN8gz2X_Ib6OP9qcsVQ" type="text/javascript"></script>
</head>
<body>
   <div id="mymap" style="width: 300px; height: 300px"></div>
   <script type="text/javascript">
      //<![CDATA[
  var map = new GMap(document.getElementById("mymap"));
  map.addControl(new GSmallMapControl());
  map.addControl(new GMapTypeControl());
  map.centerAndZoom(new GPoint(135.758486, 34.985320), 3);
  var KyotoStation = new GMarker (new GPoint (135.761404, 34.982823));
 
         GEvent.addListener (KyotoStation, "click", function() {
            KyotoStation.openInfoWindowHtml ("日本京都车站");
         });
 
         map.addOverlay (KyotoStation);
      //]]>
   </script>
</html>
看范例所呈现的结果
上面这个程序,在当使用者点了该 Marker 时会出现一个方匡显示你输入的文字,这文字可以是 HTML 格式,也就是说允许上面出现图片等信息。那可不可以不用去等到使用者点了之后才出现,可不可以在加载时就出现呢?好象是不行的,至少我测试的结果都会得到一些错误讯息。不过你可以这样做:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script src="http://maps.google.com/maps?file=api&v=1&key=ABQIAAAAuG7oWOtWqEZB1PNN_pEvsBQ5_R83DoQvDaRjoUU
cz5SOzE95uxQPI9Bh8GLJN8gz2X_Ib6OP9qcsVQ" type="text/javascript"></script>
</head>
<body>
   <div id="mymap" style="width: 300px; height: 300px"></div>
   <script type="text/javascript">
      //<![CDATA[
  var map = new GMap(document.getElementById("mymap"));
  map.addControl(new GSmallMapControl());
  map.addControl(new GMapTypeControl());
  map.centerAndZoom(new GPoint(135.758486, 34.985320), 3);
 
         map.openInfoWindow (new GPoint(135.761404, 34.982823), document.createTextNode("日本京都车站"));
 
         map.addOverlay (KyotoStation);
      //]]>
   </script>
</html>
看范例所呈现的结果
直接在地图上显示 Info Window,而不是在 Marker 上。但是 GMap 对象并没有 openInfoWindowHtml() Function,只有 openInfoWindow() 可以用,而这个 Function 是以一个 DOM 对象作为参数,而非 HTML 格式的字符串内容。
GPolyline
在地图上画线,这更酷了,请看以下范例:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml">
<head>

<style type="text/css">
v\:* {
 behavior:url(#default#VML);
}
</style>

<script src="http://maps.google.com/maps?file=api&v=1&key=ABQIAAAAuG7oWOtWqEZB1PNN_pEvsBQ5_R83DoQvDaRjoUU
cz5SOzE95uxQPI9Bh8GLJN8gz2X_Ib6OP9qcsVQ" type="text/javascript"></script>
</head>
<body>
   <div id="mymap" style="width: 300px; height: 300px"></div>
   <script type="text/javascript">
      //<![CDATA[
  var map = new GMap(document.getElementById("mymap"));
  map.addControl(new GSmallMapControl());
  map.addControl(new GMapTypeControl());
  map.centerAndZoom(new GPoint(135.770159, 34.986128), 3);
 
 var points = [new GPoint(135.762649, 34.984124), new GPoint(135.762563, 34.986128), new GPoint(135.777369, 34.985952), new GPoint(135.778806, 34.990910)];
 var line = new GPolyline(points, "#ff0000");
        map.addOverlay(line);
 
      //]]>
   </script>
</html>
看范例所呈现的结果
OK,这个范例要告诉你如何从京都车站搭公车到音羽山清水寺。我设定了一串的 GPoint 对象数组,每个点都是线条转折处,并利用此数组新增了一个 GPolyline 对象,并将这 polyline 加到地图中即可(你也可以自订 Polyline 的颜色及大小)。你或许还会注意到这个范例多了一些奇怪的东西,一个 namespace 以及一个 CSS style 设定,这是为了 IE 浏览器的兼容性而加的,关于这个稍后会再提到。


浏览器兼容性问题
Google Maps API 基本上没有什么浏览器兼容性的问题,他支持的浏览器有:
Firefox/Mozilla
IE 5.5+
Safari 1.2+
Opera
除此外,你也可以利用 GBrowserIsCompatible() 函式来检查使用者的浏览器是否有兼容性上的问题。例如,你可以这样做:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script src="http://maps.google.com/maps?file=api&v=1&key=ABQIAAAAuG7oWOtWqEZB1PNN_pEvsBQ5_R83DoQvDaRjoUU
cz5SOzE95uxQPI9Bh8GLJN8gz2X_Ib6OP9qcsVQ" type="text/javascript"></script>
</head>
<body>
   <div id="mymap" style="width: 300px; height: 300px"></div>
   <script type="text/javascript">
      //<![CDATA[
         if (GBrowserIsCompatible()) {
     var map = new GMap(document.getElementById("mymap"));
     map.centerAndZoom(new GPoint(139.7600, 35.6700), 1);
  } else {
     var map = document.getElementById ("mymap");
     map.innerHTML = "";
            map.innerHTML = "Sorry, 你的浏览器不支持 Google Maps";
  }
      //]]>
   </script>
</html>
看范例所呈现的结果



上一页 [1] [2] [3]  下一页


上一篇:在网站上实现 Google Reader 一键订阅 下一篇:网页设计中文字颜色的搭配技巧
大部分文章摘自网上,如有侵犯您的权益请与我们联系,我们会第一时间进行处理,谢谢! [ 打印文章 ] [ 关闭窗口 ]
推荐文章
 
相关文章
·Google Maps开放API了,做张地图
最新文章
·巧妙实现很酷的动态背景文字
·网页编程安全漏洞全接触
·实现浏览器全屏窗口的几种方法
·搜索引擎技术核心揭密
·公司建站完全手册--网页色彩设计
·为网页添加放大或缩小文字
·让弹出窗口变得“体贴”一些
·巧用SnagIt复制加密网页文字
·怎样才能把我的网站加入Google?
·为什么在Google上搜不到我的网页
Google