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