在Artem Google地图上添加多个标记

时间:2013-05-21 14:23:35

标签: c# google-maps

我想根据artem google maps中的经度和纬度显示多个标记。目前我只能根据地图上的经度和纬度显示一个地址。

我使用xml文件来存储纬度和经度

<?xml version="1.0" encoding="utf-8"?>
<Mark>
  <Position>
    <ID>1</ID>
    <Latitude>37.2808</Latitude>
    <Longitude>49.5832</Longitude>
    <Name>A</Name>
</Position>
</Mark>

我使用此代码

XDocument xmlDoc = XDocument.Load(Server.MapPath("~/App_Data/Map.xml"));
var query = from st in xmlDoc.Descendants("Position")
                        select st;

    foreach (var p in query)
    {
          Marker mark = new Marker();
                    mark.Position = new LatLng(double.Parse(p.Element("Latitude").Value), double.Parse(p.Element("Longitude").Value));
                    mark.Title = p.Element("Name").Value;
                    mark.Info = p.Element("Name").Value;
                    GoogleMap1.Markers.Add(mark);
    }

1 个答案:

答案 0 :(得分:0)

您还可以在地图上添加标记列表...您只需要找到如何从xml读取到下面的正确形式的方式......,Marker constuctor中还有其他一些选项。

List<Marker> markers = new List<Marker>()
{
    new Marker { Position = new LatLng(42.1229, 24.7879), Title="A" },
    new Marker { Position =  new LatLng(42.7, 23.3), Title="B" },
    new Marker { Position =  new LatLng(43.1, 22.3), Title="C" }
};

GoogleMap1.Markers.AddRange(markers);