我正在使用Google地圖apiv3的網站上工作。我在更新面板中有一個按鈕,通過它我可以使用button_click和javascript函數背後的代碼執行一些邏輯。無法獲取更新面板的工作權限
由於按鈕位於更新面板中,因此我無法在螢幕窗口的觀察窗口中看到任何內容,也無法在JavaScript函數中使用我的斷點。沒有更新面板,我可以在手錶中看到執行流程,一切正常,但我在地圖上重新加載。
代碼在ASPX:
<asp:ScriptManager ID="ScriptManager1" runat="server"> </asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:Button ID="Button1" runat="server" style="z-index: 1; left: 573px; top: 146px; position: absolute" Text="Show route" onclick="Button1_Click1"/>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Button1" EventName="Click"/>
</Triggers>
</asp:UpdatePanel>
Button_Click1:
protected void Button1_Click1(object sender, EventArgs e)
{
using (con = new MySqlConnection("server=localhost; uid=root;password=as64ws;database=Gmaps"))
da = new MySqlDataAdapter("select * from routes where uid='a1'", con);
da.Fill(ds, "mroute");
foreach (DataRow r in ds.Tables[0].Rows)
{
uroute.Add(r["latlng"].ToString());
}
croute = new string[uroute.Count];
croute = uroute.ToArray();
hdncroute.Value = string.Join("&", croute);
ScriptManager.RegisterClientScriptBlock(this, typeof(Button), "routes", "droute()", true);
}
的Javascript:
function droute()
{
var route=[];
var temp;
temp = document.getElementById('<%= hdncroute.ClientID %>').value;
route= temp.split('&');
//Loop to add locations and draw line
var path= polyline.getPath();
for(var i=0;i<route.length;i++)
{
var input= route[i];
var ltln = input.split(",",2);
var lat=parseFloat(ltln[0]);
var lng=parseFloat(ltln[1]);
var pos= new google.maps.LatLng(lat,lng);
var marker= new google.maps.Marker({position:pos,map:map});
path.push(route[i]);
google.maps.event.addListener(marker,'click',showiwindow);
}
function showiwindow(event)
{
iwindow.setContent("<b>Coordinates are:</b><br/>Latitude:"+event.latLng.lat()+"<br/>Longitude:"+event.latLng.lng());
iwindow.open(map,this);
}
}
我不能得到要在地圖上顯示的值。 我應該將更新面板中的按鈕還是更新面板中的地圖?我哪裏錯了?
此問題與Google地圖無關。 – Marcelo
與這個問題相關的大多數答案都將類似於使用更新面板,因爲他們的問題不是要重新裝入表單數據的其餘部分。但在我的情況下,我應該避免地圖本身重新加載,因爲我丟失了它的數據。聽起來合理嗎? – Cdeez
你爲什麼使用ASP/Mysql? PHP/Mysql更適用於許多使用Ajax或JQuery的Map示例 –