我编写了此代码来在 ASP.NET 网页中使用 javascript 代码显示 map 和标记:
<script src="http://maps.googleapis.com/maps/api/js"></script>
<script>
var myCenter;
var center;
var isButtonClick = false;
function initialize(x, y) {
var mapProp = {
center: new google.maps.LatLng(x, y),
zoom: 5,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
myCenter: center;
var map = new google.maps.Map(document.getElementById("googleMap"), mapProp);
var marker = new google.maps.Marker({
position: new google.maps.LatLng(x, y),
animation: google.maps.Animation.BOUNCE
});
marker.setMap(map);
}
google.maps.event.addDomListener(window, 'load', function () { if (!isButtonClick) initialize(0, 0) });
</script>
并在 asp 按钮单击事件中编写此代码以将值发送到 java 脚本函数:
Page.ClientScript.RegisterStartupScript(this.GetType(), "beh", "isButtonClick=true;initialize(35.878987,46.279637);", true);
一切正常!但我想向 javascript 函数发送两个或多个位置或值,例如发送此值:
45.123321,35.123345
35.123321,45.123321
45.123456,34.123454
并标记 map 上的所有点。我该怎么做?注意:向上值必须与 asp 按钮事件一起发送才能起作用,我有向下代码:
String[,] myArr = new String[4, 1];
myArr[0, 0] = "45.123321";
myArr[1, 0] = "35.454345";
myArr[2, 0] = "20.123321";
我怎样才能发送数组来运行?
最佳答案
function initialize(markersData) {
var mapProp = {
center: new google.maps.LatLng(x, y),
zoom: 5,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
myCenter: center;
var map = new google.maps.Map(document.getElementById("googleMap"), mapProp);
for(var i=0;i<markersData.length;i++){
var marker = new google.maps.Marker({
position: new google.maps.LatLng(markersData[i,0], markersData[i,1]),
animation: google.maps.Animation.BOUNCE
});
marker.setMap(map);
}
}
initialize(markersData);
在 C# 中像这样声明数组
// ... Create 2D array of strings.
float[,] markersData= new flaot[,]
{
{45.123321,35.123345},
{35.123321,45.123321},
{45.123456,41.123454}
};
Page.ClientScript.RegisterStartupScript(this.GetType(), "beh", "isButtonClick=true;initialize(markersData);", true);
关于javascript - 如何使用 javascript 在 Google map 上显示两个或多个标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30142340/