谷歌地图和ASP

时间:2010-07-17 18:37:45

标签: javascript google-maps asp-classic

我是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();
        ...

这一行 new google.maps.LatLng(&lt;%rs.Fields(“LATITUDE”);%&gt;,&lt;%rs.Fields(“LONGITUDE”)%&gt;); 导致问题。出于某种原因,我得到运行时错误: Microsoft JScript运行时错误:参数数量错误或属性分配无效

1 个答案:

答案 0 :(得分:2)

您的经度和纬度未写入页面。您需要在Response.Write纬度和经度中添加“=”符号。 &lt;%= rs.Fields(“LATITUDE”)%&gt;相当于&lt;%Response.Write(“Test”)%&gt;。

这是您需要做出的改变。

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

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