【发布时间】:2012-09-05 20:24:05
【问题描述】:
我想将两个文本框的纬度和经度值发送到一个 java 脚本函数,该函数在地图上的该位置显示一个标记。
我已经写了以下代码,但是它不起作用:
<script type="text/javascript">
var map;
function init()
{
var mapoptions=
{
center: new google.maps.LatLng(17.379064211298, 78.478946685791),
zoom: 8,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
map=new google.maps.Map(document.getElementById("map_can"), mapoptions);
}
function placemark()
{
var ulatlng= new google.maps.LatLng(document.getElementById('<%=TextBox1.ClientID %>'),document.getElementById('<%=TextBox2.ClientID %>'));
var marker = new google.maps.Marker({position:ulatlng,map:map});
}
</script>
按钮控件代码:
<asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="placemark()" />
不显示标记。 Chrome 控制台也不会显示任何错误。我哪里错了?
【问题讨论】:
-
我想问题不仅在于传递控制值,还在于我调用 placemark() 后地图重新加载。如果是这样,我该如何克服它?
-
不要永远在服务器端代码中混用 javascript。没有理由这样做。相反,将数据作为
data-*属性传递,或使用类选择器来分类选择元素(您可以动态获取它们的ids)。
标签: javascript asp.net google-maps-api-3 google-maps-markers