0

我想根据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);
    }
4

1 回答 1

0

您还可以在地图上添加标记列表...您只需要找到如何将它们从您的 xml 中读取为以下正确形式的方法...,您还可以在 Marker 构造函数中选择其他选项...

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);
于 2014-03-30T09:54:17.073 回答