没有在asp.net中获取gmap

时间:2013-10-30 09:54:46

标签: c# asp.net .net vb.net google-maps

我按如下方式制作了gmap用户控件:

<%@ Control Language="VB" AutoEventWireup="false" CodeFile="gmap.ascx.vb" Inherits="gmap" %>
<html>
<head>
<script src="http://maps.googleapis.com/maps/api/js?key=AIzaSyDgj_OLNlWvNs8nr2JPLON4GPCgsxTJRnU&sensor=false">
</script>

<script type="text/javascript">
function initialize(lat,lang)
{
var mapProp = {
center: new google.maps.LatLng(lat, lang),
  zoom:5,
  mapTypeId:google.maps.MapTypeId.ROADMAP
  };
var map=new google.maps.Map(document.getElementById("googleMap")
  ,mapProp);
}

google.maps.event.addDomListener(window, 'load', initialize);
</script>
</head>

<body>
<div id="googleMap" style="width:500px;height:380px;"></div>



</body>
</html>

我将后端函数的经度和经度传递为:

 Public Sub LattitudeLongitude(ByVal lat As Decimal, ByVal longit As Decimal)
        Page.ClientScript.RegisterStartupScript(Me.GetType(), "MyScript", "javascript:initialize('" & lat & "','" & longit & "')", True)
    End Sub

它没有显示我的位置。

我调试了程序,它到处都获得了经纬度值。

它向我显示如下:

enter image description here

我不知道,为什么它没有显示我的位置。请帮帮我。

1 个答案:

答案 0 :(得分:1)

initialize()函数在每个页面加载时运行。你点击按钮就可以调用它。因此,当您第一次点击按钮进行测试时,它将通过纬度和经度,并且在回发后它将为空,因此为您提供空白地图。

您需要做的就是更改脚本中的函数名称和代码:

function DisplayMap(lat, lang) {

和代码背后:

Page.ClientScript.RegisterStartupScript(this.GetType(), "MyScript", "javascript:DisplayMap('" + lat + "','" + longit + "')", true);

并删除google.maps.event.addDomListener(window, 'load', initialize);