求一个关于谷歌地图的问题!!必结贴!

encienqi encienqi 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
描述:主要是想从数据库中动态读出坐标,然后显示到谷歌地图中
现在程序可以显示写死的点,可以读出数据库中的坐标,但是就是无法将读出的坐标显示在地图上!

程序如下:
前台代码

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>

<!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>Untitled Page</title>
<script type="text/javascript">

<%=GetRootIDArray() %>;
</script>
</head>
<body onload="initialize()" onunload="GUnload()">
<script src="http://ditu.google.cn/maps?file=api&v=2&key=abcdefg&sensor=true_or_false"
type="text/javascript"></script>

<div id="map" style="width: 700px; height: 450px" align="center"></div>
<script src="js/test.js" type="text/javascript" ></script>
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>

</body>
</html>


后台C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using System.Web.UI.HtmlControls;

public partial class Default2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

}
protected string GetRootIDArray()
{
SqlConnection conn = MyDB.GetConn();
SqlCommand cmd = new SqlCommand("select jingdu, weidu from jiamengshang", conn);
SqlDataAdapter adp = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
adp.Fill(ds);
System.Text.StringBuilder text = new System.Text.StringBuilder();
if (ds.Tables.Count > 0)
{

for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
text.AppendFormat("jingxiaoshang[ {0} ] = new Array('{1}','{2}');", i.ToString(), ds.Tables[0].Rows[i]["jingdu"].ToString(), ds.Tables[0].Rows[i]["weidu"].ToString());
}
}
Label1.Text = text.ToString();
return text.ToString();

}
}


test.js代码

var jingxiaoshang = new Array();

var map = new GMap2(document.getElementById("map"));
//添加一个控制条
map.addControl(new GSmallMapControl());

//配置中心点经纬度(青海)和缩放系数,并显示
map.setCenter(new GLatLng(35.66, 96.74), 6);
//var jingxiaoshang = new Array();


for (i = 0; i < jingxiaoshang.length; i++) {
var temp = point + i;
temp = new GLatlng(jingxiaoshang[i][0], jingxiaoshang[i][1]);
map.addOverlay(createMarker(temp, i));
}

//var point2 = new GLatLng(36.56, 101.74);
//map.addOverlay(createMarker(point2, 2));

//上面这两句是可以设置点,createMarker后面的1可以设置成超连接或者显示东西
//根据数据库里的数据循环输出上面这两句话就可以了,输出所有点


function createMarker(point, number) {
var marker = new GMarker(point);
GEvent.addListener(marker, "click", function() {
marker.openInfoWindowHtml("xining<b>" + number + "</b>");
});
return marker;
}
//这个函数是输出点击那个点之后出来,输出的内容。


数据库代码

USE [binge]
GO
/****** 对象: Table [dbo].[jiamengshang] 脚本日期: 10/11/2009 23:06:52 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[jiamengshang](
[jiamengshangId] [int] NULL,
[bianhao] [varchar](10) NULL,
[sheng] [varchar](10) NULL,
[shi] [varchar](10) NULL,
[wangwangId] [varchar](10) NULL,
[QQId] [varchar](10) NULL,
[website] [varchar](10) NULL,
[dizhi] [varchar](10) NULL,
[jingdu] [varchar](10) NULL,
[weidu] [varchar](10) NULL
) ON [PRIMARY]

GO
SET ANSI_PADDING OFF

insert jiamengshang (jiamengshangId,bianhao,sheng,shi,wangwangId,QQId,website,dizhi,jingdu,weidu) values ( 1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'36.08','101.09')
insert jiamengshang (jiamengshangId,bianhao,sheng,shi,wangwangId,QQId,website,dizhi,jingdu,weidu) values ( 2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'36.18','101.19')
...全文
评论 19
收藏 已收藏
分享
返回顶部
encienqi
JavaScript 87,983 成员 224,681 内容