我有一个带有按钮字段列的asp gridview,点击该按钮点击我需要通过点击行值(经度和纬度)在Google地图上添加一个点。我为此编写了一个javascript函数,我在OnClientClick上调用了该函数,但问题是我不知道如何将long和latt传递给该函数。我曾尝试使用hiddenfields,但新的google.maps.LatLng()采用双值,所以它不起作用。这是我的javascript函数,
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 :(得分:0)
您正在为每次点击创建一个新的google.maps.Map - 可能不是您想要做的。在页面加载时在其他位置创建地图,并使用您在那里指定的“mao”变量来添加标记。
如果这没有帮助,请发布有关您所看到的内容的更多信息 - 错误消息等
答案 1 :(得分:0)
感谢大家,我找到了解决方案。我在更新面板中添加了一个按钮,然后我在该按钮上调用了我的javascript函数,单击此处是按钮单击代码,
string lat = "-25.363882";
string longt = "131.044922";
ScriptManager.RegisterStartupScript(this,this.GetType(),
"addDoctorLocation",
"addDoctorLocation(" + lat + "," + longt + ")", true);
addDoctorLocation()是我的javascript函数,需要很长的时间,并在我的地图上添加一个点。