Google maps 使用经典asp(我知道已经过时,但这只是一个开始),如何在gmap和msaccess数据库上绘制多个标记

Google maps 使用经典asp(我知道已经过时,但这只是一个开始),如何在gmap和msaccess数据库上绘制多个标记,google-maps,google-maps-api-3,asp-classic,ms-access-2013,markers,Google Maps,Google Maps Api 3,Asp Classic,Ms Access 2013,Markers,我从互联网上回收了这段代码,从ms access数据库中提取lng lat数据,并绘制在谷歌地图上。地图正在显示,坐标是他们的,但没有显示任何标记。我使用的代码如下所示。再次感谢你 <!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.

我从互联网上回收了这段代码,从ms access数据库中提取lng lat数据,并绘制在谷歌地图上。地图正在显示,坐标是他们的,但没有显示任何标记。我使用的代码如下所示。再次感谢你

      <!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/apijs?key=AIzaSyCnkGeTzGO1_5_mCfAJZkQmG6RZOkyjGzE& sensor=false"
       type="text/javascript">

       </script>

       </head>   <body> <div id="map" style="width: 750px; height: 550px"></div> 

      <% @ Language="VBScript" %> 
      <% 
      Dim count, DataConn, rst, cmdTemp 
    Dim lng, lat 
    Dim countryArr(), songTitleArr(), songFileNameArr() 
    Dim ptLatArr(), ptLngArr() 
    Dim currLng, currLat 
    Dim theCtr  
     reDim countryArr(100) 
     reDim songTitleArr(100) 
      reDim songFileNameArr(100) 
      reDim ptLatArr(100) 
      reDim ptLngArr(100)  
     lat=-14.7793992 
     lng= 121.0236486  
    count = 0  
    Set DataConn = Server.CreateObject("ADODB.Connection")
    Dataconn.Provider="Microsoft.Jet.OLEDB.4.0" 
    DataConn.Open "D:/Webpage/data/philapig_b_V10.mdb"   
    Set cmdTemp = Server.CreateObject("ADODB.Command") 
    Set rst = Server.CreateObject("ADODB.Recordset")

    cmdTemp.CommandText = "SELECT Farmer_No, Surname, Firstname, Category, YCoordinate,
    XCoordinate, Type FROM FarmersDataWeb" 
    cmdTemp.CommandType = 1 
    Set cmdTemp.ActiveConnection = DataConn  
    rst.Open cmdTemp, , 1, 3  
    Do While NOT rst.EOF         
    countryArr(count)= rst("Farmer_No")
   songTitleArr(count)= rst("Category")        
   songFileNameArr(count)= rst("Type") 
   ptLatArr(count)= rst("XCoordinate")        
   ptLngArr(count)= rst("YCoordinate")       
   rst.MoveNext()        
   count = count + 1 
   loop  
   rst.Close 
    Set rst = Nothing DataConn.Close
    set DataConn = nothing %>  
    <script type="text/javascript" language="javascript"> 
    var map = new google.maps.Map(document.getElementById("map"),{  
    zoom: 10,      
    center: new google.maps.LatLng(14.7793992,121.0236486),     
     mapTypeId: google.maps.MapTypeId.ROADMAP          }); 
    function createMarker(point,ctr) {         
    var theMarker = new GMarker(point);      
    var infoText= ctryArr[ctr] + "<BR>" + sTitleArr[ctr] + "<a href=" + 
    sFileNameArr[ctr] + "><BR>Listen</a>";  

    GEvent.addListener(theMarker, "click", function()  
    {theMarker.openInfoWindowHtml(infoText);});     
    return theMarker; } 

    function setMarker(ctr) {  
    var pt = new GPoint(lngArr[ctr], latArr[ctr]);   
     var marker = createMarker(pt,ctr);

     map.addOverlay(marker); }
     var ctryArr=[]; var lngArr=[]; var latArr=[]; var sTitleArr=[]; var sFileNameArr=[]; var
     j=0;          
    <% for i = 0 to count - 1 %>    
    ctryArr[j]="<%=countryArr(i)%>";  
    sTitleArr[j]="<%=songTitleArr(i)%>";  
    sFileNameArr[j]="<%=songFileNameArr(i)%>";
    lngArr[j]="<%=ptLngArr(i)%>";      
    latArr[j]="<%=ptLatArr(i)%>";   
     j++;     
    <% next %> 
    for (k=0;k<ctryArr.length;k++) {   
      setMarker(k); }              

        </script>
    </body>
    </html>

我更改了您的代码以使用V3谷歌地图API。用以下代码替换脚本部分

    <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
    <script type="text/javascript" language="javascript"> 
        var map;

        function initializeGoogle() {
            var myOptions = {
                zoom: 10,
                mapTypeId: google.maps.MapTypeId.ROADMAP,
                disableDefaultUI: true,
                panControl: true,
                zoomControl: true,
                center: new google.maps.LatLng(14.7793992,121.0236486)
            }
            map = new google.maps.Map(document.getElementById("map"), myOptions);

            <% for i = 0 to count - 1 %> 
                createMarker(<%=ptLatArr(i)%>, <%=ptLngArr(i)%>, ctryArr[ctr] + "<BR>" + sTitleArr[ctr] + "<a href=" + sFileNameArr[ctr] + "><BR>Listen</a>");
            <% next %> 
            };

        function createMarker(lat, lon, html) {
            var newmarker = new google.maps.Marker({
                position: new google.maps.LatLng(lat, lon),
                map: map,
            title: html
            });

            newmarker['infowindow'] = new google.maps.InfoWindow({
                content: html
            });

            google.maps.event.addListener(newmarker, 'mouseover', function() {
                this['infowindow'].open(map, this);
            });
        }

        $(document).ready(function () {
            initializeGoogle();
        });

    </script>

你的标题是classic ASP,但你的标签是ASP.NET。是哪一个?此外,如果这是经典的ASP,则不应使用它启动新项目。一些JS代码是Google Maps API v2而不是v3,例如GMarker、GPoint和GEvent。它们不是交叉兼容的APIv2实际上不再工作,您需要将其全部重写为严格意义上的v3代码。再见,谢谢你,邓肯。。初学者的错误!我将代码更新为V3,但仍然无法运行。。。啊