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
投稿

猜你喜欢

  • 关于分页查询和性能问题

    2008-03-11 12:25:00
  • iframe全跨域高度自适应解决方案

    2008-12-21 16:16:00
  • 如何将数据访问页绑定到断开连接的 ADO 记录集上?

    2009-12-03 20:07:00
  • 透彻掌握ASP分页技术

    2009-03-09 18:26:00
  • ASP.NET教程第二讲:安装ASP.NET

    2007-08-07 11:59:00
  • MySQL的root密码丢失解决方法

    2011-05-05 15:56:00
  • 高效的MySQL分页

    2011-01-04 20:01:00
  • img标签中alt和title属性的正确使用

    2008-01-10 12:59:00
  • 仿QQ和MSN消息提示的效果代码

    2010-03-16 12:17:00
  • 错误的随机数_JavaScript

    2009-08-28 12:43:00
  • 简单实用的图片播放器1.0(Javascript + css )

    2008-07-16 10:39:00
  • SQL Server数据库于应用程序的关系

    2010-07-26 14:21:00
  • 一个简单的ASP生成HTML分页程序

    2009-07-05 18:32:00
  • 关于浏览器地址栏的小图标favicon.ico制作

    2010-03-07 15:57:00
  • FSO无效的过程调用或参数问题

    2010-03-25 21:49:00
  • 这么多的 Oracle 性能工具

    2008-06-04 11:20:00
  • WEB设计经验-来自Microsoft

    2008-05-15 07:30:00
  • Mysql的服务无法启动的1067错误解决

    2012-01-05 19:31:56
  • SQL Server中使用DTS设计器进行数据转移

    2009-01-08 16:15:00
  • 费茨法则在交互设计中的应用

    2009-07-09 19:02:00
  • asp之家 网络编程 m.aspxhome.com