javascript - 如何使用 javascript 在 Google map 上显示两个或多个标记

标签 javascript asp.net google-maps

我编写了此代码来在 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/

相关文章:

javascript - jQuery scrollTop() 为所有元素返回 0

javascript - 如何在发送响应后在node.js api 中运行后台任务?

c# - 在 asp.net 4.0 中使用隐藏代码 (c#) 禁用 "a"href 标记

java - 如何使用 SQLite 数据库在 map 上填充动态标记?

javascript - 在 promise 中定义异步函数

javascript - Material UI - 工具提示意外显示

c# - 来自数据库的 ASP.NET MVC 下拉列表

asp.net - 带有 jquery 的 IE 复选框无法正常工作

android - Google Play 服务已过时。需要 10298000 但找到 10084470,谷歌地图

android - 根据当前位置获取我当前所在的总计 "Areas/Zones"