以下是我的后台代码,我在地图边添加了文本框和按钮,输入订单号,查找数据库,并在地图上显示出来。但是输入订单号后没反应,空白。不知道怎么回事。 using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Configuration; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Text; public partial class Googlemap : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void Button1_Click(object sender, EventArgs e) { SqlConnection sqlcon = new SqlConnection(ConfigurationManager.ConnectionStrings["ApplicationServices"].ConnectionString); sqlcon.Open(); //查询货物位置 string str_addr = ""; if (TextBox1.Text == "") { Response.Write("<script language=javascript >alert('请输入订单号!');window.navigate('./GoogleMap.aspx');</Script>"); Response.End(); } else { str_addr = "SELECT Coordinate_X,Coordinate_Y FROM GPSinfo WHERE 订单号=" + TextBox1.Text; } SqlDataAdapter sqlda = new SqlDataAdapter(str_addr, sqlcon); DataSet ds = new DataSet(); //声明一个dataset对象 sqlda.Fill(ds,"GPSinfo");
StringBuilder sMark = new System.Text.StringBuilder(); Response.Clear(); Response.Charset = "utf-8"; Response.ContentType = "text/xml"; sMark.AppendLine(@"<?xml version='1.0' encoding='UTF-8' ?>"); if (ds != null) { sMark.Append("<ers>"); for (int i = 0; i < ds.Tables["GPSinfo"].Rows.Count; i++) { string lat = "\"" + ds.Tables["GPSinfo"].Rows[i]["Coordinate_X"].ToString() + "\""; string lng = "\"" + ds.Tables["GPSinfo"].Rows[i]["Coordinate_Y"].ToString() + "\""; sMark.Append("<er lat=" + lat + " lng=" + lng + " />"); } sMark.Append("</ers>"); }
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Text;
public partial class Googlemap : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{ }
protected void Button1_Click(object sender, EventArgs e)
{
SqlConnection sqlcon = new SqlConnection(ConfigurationManager.ConnectionStrings["ApplicationServices"].ConnectionString);
sqlcon.Open();
//查询货物位置
string str_addr = "";
if (TextBox1.Text == "")
{
Response.Write("<script language=javascript >alert('请输入订单号!');window.navigate('./GoogleMap.aspx');</Script>");
Response.End();
} else
{
str_addr = "SELECT Coordinate_X,Coordinate_Y FROM GPSinfo WHERE 订单号=" + TextBox1.Text; } SqlDataAdapter sqlda = new SqlDataAdapter(str_addr, sqlcon);
DataSet ds = new DataSet(); //声明一个dataset对象
sqlda.Fill(ds,"GPSinfo");
StringBuilder sMark = new System.Text.StringBuilder(); Response.Clear();
Response.Charset = "utf-8";
Response.ContentType = "text/xml"; sMark.AppendLine(@"<?xml version='1.0' encoding='UTF-8' ?>");
if (ds != null)
{
sMark.Append("<ers>");
for (int i = 0; i < ds.Tables["GPSinfo"].Rows.Count; i++)
{
string lat = "\"" + ds.Tables["GPSinfo"].Rows[i]["Coordinate_X"].ToString() + "\"";
string lng = "\"" + ds.Tables["GPSinfo"].Rows[i]["Coordinate_Y"].ToString() + "\""; sMark.Append("<er lat=" + lat + " lng=" + lng + " />");
}
sMark.Append("</ers>");
}
Response.Write(sMark.ToString());
HttpContext.Current.ApplicationInstance.CompleteRequest();
sqlcon.Close();
}
}下面是前台代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Googlemap.aspx.cs" Inherits="Googlemap" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>运输车辆位置图</title>
<%-- 加载 Google 地图 API JavaScript--%>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false&language=zh-CN"></script>
<script type="text/javascript">
var map;
function initialize() {
var myLatlng = new google.maps.LatLng(39.917, 116.397);
//var myLatlng = new google.maps.LatLng(-34.397, 150.644);
var myOptions = {
zoom: 12,
center: myLatlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
var map = new google.maps.Map(document.getElementById("map"), myOptions); //downloadUrl("1.xml", function (data) {
downloadUrl("ShowMap.aspx", function (data) {
//alert(data);
var ers = data.documentElement.getElementsByTagName("er");
for (var i = 0; i < ers.length; i++) {
var latlng = new google.maps.LatLng(parseFloat(ers[i].getAttribute("lat")),
parseFloat(ers[i].getAttribute("lng")));
var er = new google.maps.Marker({ position: latlng, map: map });
}
}); function createXmlHttpRequest() {
try {
if (typeof ActiveXObject != 'undefined') {
return new ActiveXObject('Microsoft.XMLHTTP');
} else if (window["XMLHttpRequest"]) {
return new XMLHttpRequest();
}
} catch (e) {
changeStatus(e);
}
return null;
}; function downloadUrl(url, callback) {
var status = -1;
var request = createXmlHttpRequest();
if (!request) {
return false;
}
request.onreadystatechange = function () {
if (request.readyState == 4) {
try {
status = request.status;
} catch (e) {
// Usually indicates request timed out in FF.
}
if (status == 200) {
callback(request.responseXML, request.status);
//callback(request.responseText, request.status);
request.onreadystatechange = function () { };
}
}
}
request.open('GET', url, true);
try {
request.send(null);
} catch (e) {
changeStatus(e);
}
};
}
</script> </head>
<body onload="initialize()">
<form id="form1" runat="server">
<div id="map" style="width:1024px;height:600px">
</div>
<asp:Label
ID="Label1" runat="server" Text="请输入订单号:"></asp:Label>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Find" />
</form>
</body>
</html>