10分钟学会Google Map API (二)

时间:2009-06-07 18:14:00 

这里是一个基于GMap2和XML的小例子,数据存在XML文件中 ,这是最简单的模式,却相当地有用。

  实例的网址是: http://sunjian100.googlepages.com/MapTest.html

  另外补充一点,到目前为止,GoogleMap这套平台对于中文字符还不是支持的很好。

  下面是脚本方面的例子:


<script src="http://maps.google.com/maps?file=api&v=2&key=******" type="text/javascript"></script>

<script type="text/javascript">
//<![CDATA[
        var points = [];
        var markers = [];
        var infoWindowHtml = [];
        var sidebarHtml = "";

        var redCircleIcon = new GIcon();
        redCircleIcon.image = "RedCircle7x7.gif";
        redCircleIcon.iconSize = new GSize(7, 7);
        redCircleIcon.iconAnchor = new GPoint(3, 3);
        redCircleIcon.infoWindowAnchor = new GPoint(3, 3);

        function createBridgeMarker(ind, name, latitude, longitude) {
            var marker;
            points[ind] = new GLatLng(latitude, longitude);
            marker = new GMarker(points[ind], redCircleIcon);
            infoWindowHtml[ind] = "<a href=\"http://www.google.com/search?q=%22" + name + "%22\" target=\"_blank\">" + name + "</a>";
            GEvent.addListener(marker, "click", function() {
                marker.openInfoWindowHtml(infoWindowHtml[ind]);
            });
            markers[ind] = marker;
            sidebarHtml += "<p><a href=\"javascript:void(0)\" onclick=\"markerSelected(" + ind + ")\">" + name + "</a></p>";
            return marker;
        }

        function markerSelected(ind) {
            markers[ind].openInfoWindowHtml(infoWindowHtml[ind]);
        }

function onLoad() {
    // Creates a map and centers it on the Hot Metal Bridge in Pittsburgh.   
    if (GBrowserIsCompatible()) {
              var map = new GMap2(document.getElementById("map"));
              map.addControl(new GLargeMapControl());
              map.addControl(new GMapTypeControl());
              map.addControl(new GScaleControl());
              map.setCenter(new GLatLng(40.6413,-74.1428), 11, G_NORMAL_MAP);


              GDownloadUrl("Bridges.xml", function(data, responseCode) {
                 var xml = GXml.parse(data);
                 var bridges = xml.documentElement.getElementsByTagName("bridge");
                 for (var i = 0; i < bridges.length; i++) {
                    var name = bridges[i].getAttribute("name");
                    var latitude = parseFloat(bridges[i].getAttribute("latitude"));
                    var longitude = parseFloat(bridges[i].getAttribute("longitude"));
                    var marker = createBridgeMarker(i, name, latitude, longitude)
                    map.addOverlay(marker);
                 }
                 document.getElementById("sidebar").innerHTML = sidebarHtml;
              });
    }
}

//]]>
</script>

标签:google,map,api,XML
0
投稿

猜你喜欢

  • document.all与WEB标准

    2008-03-16 14:28:00
  • 编写一个JS组件来说说call和apply的用法

    2008-11-23 17:11:00
  • Python画图小案例之小雪人超详细源码注释

    2021-09-21 11:49:44
  • 浅谈python print(xx, flush = True) 全网最清晰的解释

    2022-01-28 21:45:48
  • Python定时器线程池原理详解

    2022-02-10 02:09:07
  • php下将XML转换为数组

    2024-05-09 14:48:04
  • Django ModelForm操作及验证方式

    2021-04-22 18:11:44
  • Golang 分割字符串的实现示例

    2024-02-23 03:26:10
  • JS定义函数的几种常用方法小结

    2024-04-16 09:26:30
  • python函数的作用域及关键字详解

    2021-11-26 04:38:30
  • python实现多线程的两种方式

    2022-09-30 00:54:15
  • PYQT5开启多个线程和窗口,多线程与多窗口的交互实例

    2023-07-19 04:21:21
  • Python抓取移动App数据使用mitmweb监听请求与响应

    2022-03-24 21:09:29
  • 举例讲解Python中的死锁、可重入锁和互斥锁

    2023-12-21 07:35:03
  • python3安装speech语音模块的方法

    2023-03-24 12:09:32
  • 浅谈MySQL之select优化方案

    2024-01-27 03:32:38
  • Go语言导出内容到Excel的方法

    2024-02-11 17:18:56
  • python opencv之SIFT算法示例

    2023-12-27 21:42:33
  • 用书的概念理解小网站结构

    2007-10-31 18:08:00
  • 详细介绍查询优化技术在现实系统中的运用

    2009-01-04 13:34:00
  • asp之家 网络编程 m.aspxhome.com