<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
    <title>New Document </title>    <script src="http://maps.google.com/maps?file=api&v=2&key=abcdefg"
        type="text/javascript"></script>    <script src="Scripts/jquery-1.4.1.js" type="text/javascript"></script>    <script type="text/javascript">
        var mapData = [
                  { lng: "25.036772", lat: "111.520269", title: "test1", image: "images/qq_online.gif" },
                  { lng: "24.036772", lat: "111.520269", title: "test2", image: "images/qq_online.gif" },
                  { lng: "2.036772", lat: "133.520269", title: "test3", image: "images/qq_online.gif" },
                  { lng: "4.036772", lat: "132.520269", title: "test4", image: "images/qq_online.gif"}];
        var json = eval(mapData);
        var map = null;
        var er = null;
        var myIcon = null;
        var objHtml = null;
        var mapLoad = {
            initialize: function() {
                // 检查浏览器是否可使用 Google Map API
                if (GBrowserIsCompatible()) {
                    map = new google.maps.Map2(document.getElementById('map'));
                    map.addControl(new GSmallMapControl());
                    map.addControl(new GOverviewMapControl()); //小地图放大镜
                    map.addControl(new GMapTypeControl());
                    //geocoder = new GClientGeocoder(); //它的getLatLng()方法可以解析地名为经纬度,通过2点的经纬度可以连线,算距离等                    mapLoad.loadMapData(json);
                    map.enableScrollWheelZoom();  //滚轮缩放                    // 画圆
                    //draw(1/*半徑,公里*/, 36/*以多少點画圆*/);
                }
                else {
                    alert('浏览器不支持!');
                }
            },
            createMarker: function(point, baseIcon, div) {    
                er = new GMarker(point, baseIcon);   //??? 
                // er.bindInfoWindowHtml(div);
                GEvent.addListener(er, "click", function() {                    er.openInfoWindowHtml(div);   // 出错
                });
                return er;
            },
            loadMapData: function(objData) {
                //在这里接受参数然后跟参数实现查询
                if (objData != '') {
                    $.each(objData, function(i, item) {
                        myIcon = new GIcon();
                        objHtml = "<div style='color:green;'><strong>点到我了</strong></div>";
                        myIcon.image = item.image;
                        myIcon.iconAnchor = new GPoint(0, 20); //
                        var getPint = new GLatLng(item.lng, item.lat);
                        erOptions = { icon: myIcon };
                        er = mapLoad.createMarker(getPint, erOptions, objHtml);
                        // var er = new GMarker(geoPint, {icon:myIcon, title: item.title });
                        map.addOverlay(er);
                        map.setCenter(new GLatLng(item.lng, item.lat), 4);      // 設定中心点                    });
                }
            }
        }
        ////pan and zoom to fit        function fit() {
            map.panTo(bounds.getCenter());
            map.setZoom(map.getBoundsZoomLevel(bounds));
        }        //calling circle drawing function
        function draw(givenRad, givenQuality) {
            map.clearOverlays();
            bounds = new GLatLngBounds();
            var centre = map.getCenter();
            drawCircle(centre, givenRad, givenQuality);
            fit();
        }        ////////////////////////// circle///////////////////////////////
        function drawCircle(center, radius, nodes, liColor, liWidth, liOpa, fillColor, fillOpa) {
            // Esa 2006
            //calculating km/degree
            var latConv = center.distanceFrom(new GLatLng(center.lat() + 0.1, center.lng())) / 100;
            var lngConv = center.distanceFrom(new GLatLng(center.lat(), center.lng() + 0.1)) / 100;            //Loop
            var points = [];
            var step = parseInt(360 / nodes) || 10;
            for (var i = 0; i <= 360; i += step) {
                var pint = new GLatLng(center.lat() + (radius / latConv * Math.cos(i * Math.PI / 180)), center.lng() +
(radius / lngConv * Math.sin(i * Math.PI / 180)));
                points.push(pint);
                bounds.extend(pint); //this is for fit function
            }
            fillColor = fillColor || liColor || "#0055ff";
            liWidth = liWidth || 2;
            var poly = new GPolygon(points, liColor, liWidth, liOpa, fillColor, fillOpa);
            map.addOverlay(poly);
        }
    </script></head>
<body onload="mapLoad.initialize()" onunload="GUnload()">
    <div id="map" style="width: 800px; height: 600px">
    </div>
</body>
</html>

解决方案 »

  1.   

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <html>
    <head>
        <title>New Document </title>    <script src="http://maps.google.com/maps?file=api&v=2&key=abcdefg"
            type="text/javascript"></script>    <script src="Scripts/jquery-1.4.1.js" type="text/javascript"></script>    <script type="text/javascript">
            var mapData = [
                      { lng: "25.036772", lat: "111.520269", title: "test1", image: "images/qq_online.gif" },
                      { lng: "24.036772", lat: "111.520269", title: "test2", image: "images/qq_online.gif" },
                      { lng: "2.036772", lat: "133.520269", title: "test3", image: "images/qq_online.gif" },
                      { lng: "4.036772", lat: "132.520269", title: "test4", image: "images/qq_online.gif"}];
            var json = eval(mapData);
            var map = null;
            var er = null;
            var myIcon = null;
            var objHtml = null;
            var mapLoad = {
                initialize: function() {
                    // 检查浏览器是否可使用 Google Map API
                    if (GBrowserIsCompatible()) {
                        map = new google.maps.Map2(document.getElementById('map'));
                        map.addControl(new GSmallMapControl());
                        map.addControl(new GOverviewMapControl()); //小地图放大镜
                        map.addControl(new GMapTypeControl());
                        //geocoder = new GClientGeocoder(); //它的getLatLng()方法可以解析地名为经纬度,通过2点的经纬度可以连线,算距离等                    mapLoad.loadMapData(json);
                        map.enableScrollWheelZoom();  //滚轮缩放                    // 画圆
                        //draw(1/*半徑,公里*/, 36/*以多少點画圆*/);
                    }
                    else {
                        alert('浏览器不支持!');
                    }
                },
                createMarker: function(point, baseIcon, div) {    
                    er = new GMarker(point, baseIcon);   //??? 
                    // er.bindInfoWindowHtml(div);
                    GEvent.addListener(er, "click", function() {                    er.openInfoWindowHtml(div);   // 出错
                    });
                    return er;
                },
                loadMapData: function(objData) {
                    //在这里接受参数然后跟参数实现查询
                    if (objData != '') {
                        $.each(objData, function(i, item) {
                            myIcon = new GIcon();
                            objHtml = "<div style='color:green;'><strong>点到我了</strong></div>";
                            myIcon.image = item.image;
                            myIcon.iconAnchor = new GPoint(0, 20); //
                            var getPint = new GLatLng(item.lng, item.lat);
                            erOptions = { icon: myIcon };
                            er = mapLoad.createMarker(getPint, erOptions, objHtml);
                            // var er = new GMarker(geoPint, {icon:myIcon, title: item.title });
                            map.addOverlay(er);
                            map.setCenter(new GLatLng(item.lng, item.lat), 4);      // 設定中心点                    });
                    }
                }
            }
        </script></head>
    <body onload="mapLoad.initialize()" onunload="GUnload()">
        <div id="map" style="width: 800px; height: 600px">
        </div>
    </body>
    </html>
    帮我看看啊  救命啊  高人 有木有!!! 有木有!!!