2010-07-17 77 views
0

我是非常新的ASP和我有一些小項目要做,所以我一些幫助。 我需要編寫asp頁面,它將從數據庫中讀取緯度和經度,並在地圖上放置標記。 這是我的當前代碼谷歌地圖和ASP

function initialize() { 

    // initialize the map 
    var latlng = new google.maps.LatLng(-25.363882,131.044922); 
    var myOptions = { 
     zoom: 8, 
     center: latlng, 
     mapTypeId: google.maps.MapTypeId.ROADMAP 
    }; 
    var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); 

    // define custom image 
var image = 'Computer.GIF'; 

    // load data from db 
    <% 
     conn=Server.CreateObject("ADODB.Connection"); 
    conn.Provider="Microsoft.Jet.OLEDB.4.0"; 
    conn.Open("c:/webdata/dbATMManager999.mdb"); 
    rs=conn.execute("select * from ATM WHERE LATITUDE IS NOT NULL AND LONGITUDE IS NOT NULL"); 
     while(!rs.eof) { 
    %> 
      var currLatLng = new google.maps.LatLng(<%rs.Fields("LATITUDE");%>, <%rs.Fields("LONGITUDE");%>); 
      var customMarker = new google.maps.Marker({ 
      position: currLatLng, 
      map: map, 
      icon: image 
     }); 
    <%  rs.movenext(); 
     ... 

這一行 新google.maps.LatLng(<%rs.Fields( 「緯度」);%>,<%rs.Fields( 「經度」)%>) ; 導致問題。出於某種原因我得到運行時錯誤: Microsoft JScript運行時錯誤:參數數量錯誤或屬性賦值無效

+1

可以粘貼生成的JavaScript?查看源代碼。 – ankitjaininfo 2010-07-17 18:45:57

回答

2

您的經度和緯度未寫入頁面。您需要將「=」符號添加到Response.Write的緯度和經度。 <%= rs.Fields(「LATITUDE」)%>相當於<%Response.Write(「Test」)%>。

以下是您需要進行的更改。

var currLatLng = new google.maps.LatLng(<%rs.Fields("LATITUDE");%>, <%rs.Fields("LONGITUDE");%>); 

var currLatLng = new google.maps.LatLng(<%=rs.Fields("LATITUDE");%>, <%=rs.Fields("LONGITUDE");%>);