求高手指点:想要在点击google map时显示信息窗口,信息窗口中的内容是在webservice中返回的,但是点击总是没有反应。
<head id="Head1" runat="server">
<meta name="viewport" content="initial-scale=1.0, user-scalable=no"/><title>Google Map热点</title>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script type="text/javascript">
function initialize() {
var latlng = new google.maps.LatLng(36.95, 118.12);
var myOptions = {
zoom: 12,
center: latlng,
mapTypeId: google.maps.MapTypeId.TERRAIN,
scaleControl: true
};
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
placelatlng1 = new google.maps.LatLng(36.95, 118.12); //新建地标
var placeMakerOption = {
position: placelatlng1,
map: map
}
var contentString;
placeMaker = new google.maps.Marker(placeMakerOption);
function fff(result) {
contentString = result;
}
WebService.HelloWorld(fff);
var inforOption = {
content: contentString
}
var infor1 = new google.maps.InfoWindow(inforOption);
google.maps.event.addListener(placeMaker, 'click', function() { infor1.open(map, placeMaker); })
}
</script>
</head>
<body οnlοad="initialize()" >
<form id="form1" runat="server">
<div id="map_canvas" style="width:1440px; height:768px" >
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="True">
<Services>
<asp:ServiceReference Path="WebService.asmx" />
</Services>
</asp:ScriptManager>
</div>
</form>
</body>
以下为WebService.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
/// <summary>
///WebService 的摘要说明
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
//若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
[System.Web.Script.Services.ScriptService]
public class WebService : System.Web.Services.WebService {
public WebService () {
//如果使用设计的组件,请取消注释以下行
//InitializeComponent();
}
[WebMethod]
public string HelloWorld() {
return "Hello World";
}
}