我正在尝试在谷歌(或必应)地图上查明位置,但我无法在两者中都这样做。两者的代码结构相似,我提出了谷歌地图的尝试:
目标:我有一个对象的链接列表,每个对象都包含纬度和经度,所有这些都必须精确定位。
完整的 ASP: http: //pastie.org/7752124(转发器是为了呈现搜索结果)
相关(在头部):
<script type="text/javascript">
var map = null;
function initialize() {
var mapOptions = {
center: new google.maps.LatLng(40.42, -98.737),
zoom: 4,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById("map-canvas"),
mapOptions);
//pushPin(25, 80);
}
function pushPin(lat, lon) {
alert(lat + " " + lon);
var myLatlng = new google.maps.LatLng(lat, lon);
var marker = new google.maps.Marker({
position: myLatlng,
map: map,
title: "Hello World!"
});
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
代码隐藏:当用户单击搜索按钮时激活:
protected void Button1_Click(object sender, EventArgs e)
{
List<Results> rlist = getResults(query);
String Locations = "";
foreach (Results res in rlist)
{
Page.ClientScript.RegisterStartupScript(
GetType(),
"MyKey",
"pushPin("+res.latitude+","+res.longitude+");",
true);
}
this.rptREsults.DataSource = rlist;
this.rptREsults.DataBind();
}
public class Results
{
public string filename { get; set; }
public string asciiname { get; set; }
public string latitude { get; set; }
public string longitude { get; set; }
}
结果是正确的并且确实包含纬度和经度,当我在 pushPin 方法中放置警报时,只有一个警报框出现,但没有创建精确定位。有没有更好的方法来存储和精确定位纬度和经度列表?
当我从另一个 javascript 方法调用 pushPin 方法时,它可以工作。