2011-07-16 90 views
0

我有一個asp gridview與該按鈕上的按鈕字段欄點擊我需要通過點擊行值(經度和緯度)在Google地圖上添加一個點。我已經爲此寫了一個javascript函數,並且我已經在OnClientClick上調用了該函數,但問題是我不知道如何將long和lattice傳遞給該函數。我試圖使用hiddenfields,但新的google.maps.LatLng()採用雙值,所以它不工作。下面是我的javascript功能,ASP谷歌地圖添加標記按鈕點擊

function addDoctorLocation() 
{ 
     var lat = document.getElementById('<%= hfLong.ClientID %>').value; 
     var longt = document.getElementById('<%= hfLong.ClientID %>').value; 
     var myLatlng = new google.maps.LatLng(parseFloat(document.getElementById('<%= hfLong.ClientID %>').value), parseFloat(document.getElementById('<%= hfLong.ClientID %>').value)); 
     var myOptions = { 
     zoom: 10, 
     center: myLatlng, 
     mapTypeId: google.maps.MapTypeId.ROADMAP 
     } 
    var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); 

    var marker = new google.maps.Marker({ 
      position: myLatlng, 
      title:"Hello World!" 
     }); 

     // To add the marker to the map, call setMap(); 
     marker.setMap(map); 
} 

和我的ASP代碼(在這裏我沒有GridView控件只是一個按鈕,我希望能在GridView的RowCommand事件指派隱藏字段的值。),

<asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
    <ContentTemplate> 
     <asp:Button ID="Button1" runat="server" Text="Button" 
      OnClientClick="addDoctorLocation()" onclick="Button1_Click" /> 
    </ContentTemplate> 
</asp:UpdatePanel> 

請有人幫我解決這個問題。這個解決方案工作時,我硬編碼JavaScript中的長和緯度值。但是我想在用戶點擊gridview行按鈕時傳遞它們。

+0

這可能與您的問題無關,但我注意到您正在使用hfLong的值和lat和long。 – Ray

+0

是Ray我爲頁面加載時爲這兩個隱藏字段賦值,它僅用於測試目的,在這裏我只添加一個按鈕而不是gridview,我希望在gridview RowCommand事件中分配這些值。 – janitheshan

+0

對於經度和長度,您只使用其中一個隱藏字段的值。這不會在你認爲應該去的地圖上留下一點。 – Ray

回答

0

感謝大家我找到了解決辦法。我添加了一個按鈕更新面板內,然後我呼籲我的javascript那個按鈕點擊這裏功能按鈕點擊代碼,

 string lat = "-25.363882"; 
     string longt = "131.044922"; 

     ScriptManager.RegisterStartupScript(this,this.GetType(), 
      "addDoctorLocation", 
      "addDoctorLocation(" + lat + "," + longt + ")", true); 

addDoctorLocation()是我認爲需要長時間,LATT並添加JavaScript函數點在我的地圖上。

0

您正在每次點擊創建一個新的google.maps.Map - 可能不是您想要做的。在頁面加載時創建您的地圖,並使用您在此指定的'mao'變量添加標記。

如果這沒有幫助,請張貼更多關於你所看到的 - 錯誤信息等

+0

對不起雷我是新的谷歌地圖,所以你可以解釋我什麼是你的意思是由毛變量。 – janitheshan

+0

啓動「var map = ...」的行不應在您的點擊處理程序中執行。它應該只在頁面加載時執行一次。 – Ray

+0

ahh得到它tx :) – janitheshan