在Artem谷歌地图上添加多个标记

本文关键字:添加 Artem 谷歌地图 | 更新日期: 2023-09-27 18:14:32

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

我使用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);
    }

在Artem谷歌地图上添加多个标记

您还可以在地图上添加标记列表…您只需要找到一种方法,如何将它们从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);