Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在现有地图上创建静态标记?_C#_Javascript_Asp.net_Google Maps Api 3_Google Maps Markers - Fatal编程技术网

C# 如何在现有地图上创建静态标记?

C# 如何在现有地图上创建静态标记?,c#,javascript,asp.net,google-maps-api-3,google-maps-markers,C#,Javascript,Asp.net,Google Maps Api 3,Google Maps Markers,嗨,我有一个datatable,我使用了JavaScriptSerializer 公共字符串分支() { DataTable dt=新的DataTable(); 使用(SqlConnection con=newsqlconnection(“数据源=localhost;初始目录=DB;用户ID=sa;密码=”)) { 新建SqlCommand(“选择title=BranchName,lat=lat,lng=lng,city=city,branchhid=branchhid 从经销商处获得,其中纬

嗨,我有一个datatable,我使用了JavaScriptSerializer

公共字符串分支()
{
DataTable dt=新的DataTable();
使用(SqlConnection con=newsqlconnection(“数据源=localhost;初始目录=DB;用户ID=sa;密码=”))
{
新建SqlCommand(“选择title=BranchName,lat=lat,lng=lng,city=city,branchhid=branchhid
从经销商处获得,其中纬度>30英寸(con))
con.Open();
SqlDataAdapter da=新的SqlDataAdapter(cmd);
da.填充(dt);
System.Web.Script.Serialization.JavaScriptSerializer serializer=新建
System.Web.Script.Serialization.JavaScriptSerializer();
列表行=新列表();
字典行;
foreach(数据行dr在dt.行中)
{
行=新字典();
foreach(dt.列中的数据列列列)
{
行添加(列名称,dr[col]);
}
行。添加(行);
}
返回序列化程序。序列化(行);
}
}
}
Aspx:

我使用这个数据表创建了标记


var markers=JSON.parse(“”);
变量映射选项={
中心:新建google.maps.LatLng(标记[0].lat,标记[0].lng),
缩放:7,
mapTypeId:google.maps.mapTypeId.ROADMAP
};
var infoWindow=new google.maps.infoWindow();
var map=new google.maps.map(document.getElementById(“map_canvas”),mapOptions);
对于(i=0;i

到这里之前我没有任何问题。我的地图正在工作

但我想在这张地图上添加一些静态标记

例如

title=XYZ,lat=34.125444 lng:42.122121,branchhid=12345,image=Images/branchXYZ.png

title=ABC,lat=32.125444 lng:49.122121,BranchID=67676,image=Images/branchABC.png

title=DEF,lat=31.125444 lng:47.122121,BranchID=3434,image=Images/branchDEF.png

title=GFH,lat=34.125444 lng:42.122121,BranchID=343434,image=Images/branchGFH.png


我该怎么做

你已经准备好了你需要的大部分东西。只需使用这些标记的新数组重复循环即可。或者创建第二个循环,该循环执行类似的操作,但根据这些操作的数据,其操作略有不同。e、 g

var staticMarkers = [
    {title:"XYZ", lat:34.125444, lng:42.122121, BranchID:12345, image:"Images/branchXYZ.png"},
    {title:"ABC", lat:32.125444, lng:49.122121, BranchID:67676, image:"Images/branchABC.png"},
    {title:"DEF", lat:31.125444, lng:47.122121, BranchID:3434, image:"Images/branchDEF.png"},
    {title:"GFH", lat:34.125444, lng:42.122121, BranchID:343434, image:"Images/branchGFH.png"}
];

for (i = 0; i < staticMarkers.length; i++) {
    var data = staticMarkers[i];

    var image = data.image;
    var myLatlng = new google.maps.LatLng(data.lat, data.lng);
    var marker = new google.maps.Marker({
        position: myLatlng,
        map: map,
        title: data.title,
        icon: image,
    });

    (function (marker, data)
        {
            google.maps.event.addListener(marker, "click", function (e) {
                // you don't have any 'description', so i'm assuming you don't need the infowindow
                //infoWindow.setContent(data.description);
                //infoWindow.open(map, marker);
                window.location = "Braches.aspx?DI=" + data.BranchID;
            });
        })(marker, data);
}
var staticMarkers=[
{标题:“XYZ”,lat:34.125444,lng:42.122121,BranchID:12345,图片:“Images/branchXYZ.png”},
{标题:“ABC”,lat:32.125444,lng:49.122121,BranchID:67676,图片:“Images/branchABC.png”},
{标题:“DEF”,lat:31.125444,lng:47.122121,BranchID:3434,图片:“Images/branchDEF.png”},
{标题:“GFH”,lat:34.125444,lng:42.122121,BranchID:343434,图片:“Images/branchGFH.png”}
];
对于(i=0;i
这对我来说是个很好的答案。你的答案解决了。非常感谢邓肯
   <body onload="initialize()">



  <script type="text/javascript"> 

 var markers = JSON.parse('<%=Branches() %>');

  var mapOptions = {


    center: new google.maps.LatLng(markers[0].lat, markers[0].lng),
    zoom: 7,
    mapTypeId: google.maps.MapTypeId.ROADMAP

     };

   var infoWindow = new google.maps.InfoWindow();

   var map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);


      for (i = 0; i < markers.length; i++) {
            var data = markers[i]


            var image = '/Images/branches.png';
            var myLatlng = new google.maps.LatLng(data.lat, data.lng);
            var marker = new google.maps.Marker({
                position: myLatlng,
                map: map,
                title: data.title + "  : " + data.city,

                icon: image, 

            }


                );



(function (marker, data)


 {

   google.maps.event.addListener(marker, "click", function (e) {

    infoWindow.setContent(data.description);
    infoWindow.open(map, marker);
    window.location = "Braches.aspx?DI=" + data.BranchID;
    icon: InitIcon

      });

       })(marker, data);

        }
var staticMarkers = [
    {title:"XYZ", lat:34.125444, lng:42.122121, BranchID:12345, image:"Images/branchXYZ.png"},
    {title:"ABC", lat:32.125444, lng:49.122121, BranchID:67676, image:"Images/branchABC.png"},
    {title:"DEF", lat:31.125444, lng:47.122121, BranchID:3434, image:"Images/branchDEF.png"},
    {title:"GFH", lat:34.125444, lng:42.122121, BranchID:343434, image:"Images/branchGFH.png"}
];

for (i = 0; i < staticMarkers.length; i++) {
    var data = staticMarkers[i];

    var image = data.image;
    var myLatlng = new google.maps.LatLng(data.lat, data.lng);
    var marker = new google.maps.Marker({
        position: myLatlng,
        map: map,
        title: data.title,
        icon: image,
    });

    (function (marker, data)
        {
            google.maps.event.addListener(marker, "click", function (e) {
                // you don't have any 'description', so i'm assuming you don't need the infowindow
                //infoWindow.setContent(data.description);
                //infoWindow.open(map, marker);
                window.location = "Braches.aspx?DI=" + data.BranchID;
            });
        })(marker, data);
}