0

我在 asp.net 中实现谷歌地图 api 时遇到问题。这是我的aspx代码:

<%@ Page Title="" Language="C#" AutoEventWireup="true" CodeFile="visual_loc.aspx.cs" Inherits="visual_loc" %>



<%--A sample project by Ghaffar khan--%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <title>Your Data on Google Map </title>
    <%--Google API reference--%>
    <script src="http://maps.google.com/maps?file=api&amp;v=2&amp;sensor=false
                 &amp;key=asdfg" type="text/javascript">
    </script>
</head>

<body onload="initialize()" onunload="GUnload()">
    <form id="form1" runat="server">
    <asp:Panel ID="Panel1" runat="server">
                <%--Place holder to fill with javascript by server side code--%>
                <asp:Literal ID="js" runat="server"></asp:Literal>
                <%--Place for google to show your MAP--%>
                <div ID="map_canvas" style="width: 100%; height: 728px; margin-bottom:                      2px;">
                </div>
                <br />
            </asp:Panel>
        <br />
   </form>
   </body>

</html>

而我背后的代码:
getLocation()是从我的数据库中获取经度和纬度的方法。是从这些位置createDataTable()创建的方法。DataTable

protected void Page_Load(object sender, EventArgs e)
    {
        string user_id;
        user_id = Request.Cookies["cookie"]["Login"];
        getLocation(user_id);
        BuildScript( createDataTable());

    }
    private void BuildScript(DataTable tbl)
    {
        String Locations = "";
        foreach (DataRow r in tbl.Rows)
        {
            // bypass empty rows        
            if (r["Latitude"].ToString().Trim().Length == 0)
                continue;

            string Latitude = r["Latitude"].ToString();
            string Longitude = r["Longitude"].ToString();

            // create a line of JavaScript for marker on map for this record    
            Locations += Environment.NewLine + " map.addOverlay(new GMarker(new GLatLng(" + Latitude + "," + Longitude + ")));";
        }

        // construct the final script
        js.Text = @"<script type='text/javascript'>
                            function initialize() {
                              if (GBrowserIsCompatible()) {
                                var map = new GMap2(document.getElementById('map_canvas'));
                                map.setCenter(new GLatLng(52.259, 21.012), 2); 
                                " + Locations + @"
                                map.setUIToDefault();
                              }
                            }
                            </script> ";
    }

整个操作导致显示没有内容的空站点。我究竟做错了什么?

4

1 回答 1

0

问题是我对我的标记做了错误的目录,所以在地图上看不到。一旦我确实输入了有效的目录,一切正常。

于 2013-01-30T14:28:26.050 回答