0

我正在尝试将 iFrame(在页面加载时)中的 Google 地图与数据库值绑定:

<iframe id="myMap" runat="server" width="291" height="241" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src=""></iframe><br /><small><a href="https://maps.google.co.in/?ie=UTF8&amp;t=m&amp;ll=21.125498,81.914063&amp;spn=14.315343,18.676758&amp;z=5&amp;source=embed" style="color:#0000FF;text-align:left">View Larger Map</a><br />

我正在使用下面的代码,但我在 iFrame 中得到的只是一个空白框:

public void GetMapDetails(int Propertyid){
    DataSet dstPropMap = Tbl_PropertyMaster.GetPropertyDetailsbyId(Propertyid);
    if (dstPropMap.Tables[0].Rows.Count > 0)
    {
        lat = dstPropMap.Tables[0].Rows[0]["Latitude"].ToString();
        lon = dstPropMap.Tables[0].Rows[0]["Longitude"].ToString();
        myMap.Attributes.Add("src", "https://maps.google.co.in/?ie=UTF8&amp;t=m&amp;ll=" + lat + "," + lon + "&amp;spn=" + lat + "," + lon + "amp;z=5&amp;output=embed");
        DataBind();
    }
}
4

1 回答 1

0

好的,我解决了这个问题,由于某种原因,使用 Attributes.Add 将属性添加到 IFrame 不起作用,所以我切换到 html IMG图像,并将 runat="server" 标记添加到它。

IE

<img id="myMap" runat="server" width="291" height="241"/>

并在代码后面添加 Attributes.Add 到 IMG

public void GetMapDetails(int Propertyid)
{
    DataSet dstPropMap = Tbl_PropertyMaster.GetPropertyDetailsbyId(Propertyid);
    if (dstPropMap.Tables[0].Rows.Count > 0)
    {
        lat = dstPropMap.Tables[0].Rows[0]["Latitude"].ToString().Trim();
        lon = dstPropMap.Tables[0].Rows[0]["Longitude"].ToString().Trim();
        myMap.Attributes.Add("src", "http://maps.google.com/maps/api/staticmap?center=" + lat + "," + lon + "&zoom=11&size=291x241&sensor=true");
    }
}
于 2012-07-26T08:50:53.730 回答