ASP.NET和JavaScript(谷歌将标记映射到JavaScript)
我有个新手问题。ASP.NET和JavaScript(谷歌将标记映射到JavaScript),javascript,asp.net,google-maps,Javascript,Asp.net,Google Maps,我有个新手问题。 如果在我的asp.net应用程序中,我需要查询数据库并获取一组Google标记以显示在地图上。我是web开发新手,所以我不确定如何将数据从asp.net传递到JavaScript。它是通过JavaScript调用的Web服务完成的,还是有其他方法来完成?我可能误解了一些主要概念。还有,是否有一种方法可以将数据从JavaScript传递到asp.net应用程序(例如,Google地图上有一些内容,数据应该存储到后端的数据库中)。如果这是太基本了,任何链接都将受到赞赏。谢谢 您可以
如果在我的asp.net应用程序中,我需要查询数据库并获取一组Google标记以显示在地图上。我是web开发新手,所以我不确定如何将数据从asp.net传递到JavaScript。它是通过JavaScript调用的Web服务完成的,还是有其他方法来完成?我可能误解了一些主要概念。还有,是否有一种方法可以将数据从JavaScript传递到asp.net应用程序(例如,Google地图上有一些内容,数据应该存储到后端的数据库中)。如果这是太基本了,任何链接都将受到赞赏。谢谢 您可以使用以下内容:
function load() {
if (GBrowserIsCompatible()) {
var map = new GMap2(document.getElementById("map_canvas"));
map.addControl(new GSmallMapControl());
map.addControl(new GMapTypeControl());
map.setCenter(new GLatLng(43.104135, -77.884455), 6);
// Change this depending on the name of your PHP file
GDownloadUrl("generateXML.aspx", function(data) {
var xml = GXml.parse(data);
var markers = xml.documentElement.getElementsByTagName("marker");
for (var i = 0; i < markers.length; i++) {
var desc = htmlEntities(markers[i].getAttribute("desc"));
var type = markers[i].getAttribute("type");
var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")),
parseFloat(markers[i].getAttribute("lng")));
var marker = createMarker(point, desc, type);
map.addOverlay(marker);
}
});
}
函数加载(){
if(GBrowserIsCompatible()){
var map=newgmap2(document.getElementById(“map_canvas”);
addControl(新的gsmallmappcontrol());
addControl(新的GMapTypeControl());
赛特中心地图(新格拉特林(43.104135,-77.884455),6);
//根据PHP文件的名称更改此选项
GDownloadUrl(“generateXML.aspx”,函数(数据){
var xml=GXml.parse(数据);
var markers=xml.documentElement.getElementsByTagName(“标记”);
对于(var i=0;i
在generateXML.aspx中,发送一个XML响应,它应该像charm一样工作。好吧,我会这样做(仅供参考,这在很大程度上依赖于javascript库):
$.ajax
调用返回表示标记数据的JSON的WCF或ASMX web服务... your web page
<script>
$(document.)ready(function() {
$.ajax(
url: "mapquery.asmx",
async: true,
dataType: json,
success: function(data)
{
var map = new GMap2(document.getElementById("map_div"));
for (int i = 0; i < data.length; i++)
{
var point = new GLatLng(data.results[i].lat,
data.results[i].lng);
var marker = createMarker(point, data.results[i].desc,
data.results[i].type);
map.addOverlay(marker);
}
}
);
});
</script>
谢谢!这(WebService/WCF)是JavaScript从asp.net获取数据的一种更好的方式吗?还有其他方式(仅使用webmethod)吗?请留意新的WCF Web API()。听起来这将是前进的首选方法,但您也可以使用普通的旧ASHX处理程序文件并返回手工编制的JSON,或者使用现有的WCF支持(请参见此处:)
results = [ {
lat: 41.765,
lng: 80.572
desc: "My house",
type: "X"
},
{
lat: 42.765,
lng: 81.572
desc: "Friend's house",
type: "X"
}
]