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"タグを付けました。

すなわち

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

追加された属性の背後にあるコードで。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 に答える