gpt4 book ai didi

gmap.net - 有很多标记的 Gmap 性能?

转载 作者:行者123 更新时间:2023-12-04 01:49:15 25 4
gpt4 key购买 nike

我使用的是 Gmap.NET 的 WinForm 版本。我正在做的是为每个标记创建 1 个叠加层,然后将其添加到我的 map 控件中。这显着减少了我程序中的延迟。现在唯一的问题是,如果我想隐藏一个覆盖层,我有多个覆盖层,我必须使用索引号来隐藏那 1 个覆盖层。

这就是我将我的标记添加到我的 map 上所做的。我为每个标记创建 1 个叠加层:(伪代码)

For (int i = 0; i >= dataset.rows.count; i++)
{
for each row in dataset
create overlay("stores")
add overlay to map
create marker(GPS from dataset)
addMarkerToOverlay
}

现在,如果我想隐藏某些商店,可能来自不同的州,我将不得不执行 MapControl.Overlays(index).IsVisible = False。这是一个问题,因为我有 100 多个叠加层。如果我创建 1 个单一叠加层并将所有标记添加到其中,WinForm 几乎会卡住和滞后,以至于无法使用。

我想知道是否有其他人以前使用过 Gmaps.NET 或知道我可以提高性能的任何方法?最好将所有标记都放在 1 个叠加层上,这样我就可以隐藏 1 个叠加层,从而隐藏所有标记。

这是我的真实代码:

Dim i As Integer = (DS.Tables(0).Rows.Count - 1)
Do While (i >= 0)
Dim lat As Double = DS.Tables(0).Rows(i)(1)
Dim lng As Double = DS.Tables(0).Rows(i)(2)

Dim StoreOverlay As GMapOverlay = New GMapOverlay("Stores")
map.Overlays.Add(StoreOverlay)

Dim marker As GMapPoint
marker = New GMapPoint(New PointLatLng(lat, lng), 15)
StoreOverlay.Markers.Add(marker)

i = (i - 1)
Loop

最佳答案

对于像我这样的菜鸟和遇到同样问题的其他人,这里是解决方案......

确保您没有在循环语句中添加层的代码。我创建了 300 多个图层,每个图层分配了 300 多个标记。

如果您只有 1 个图层,然后在其上添加数百个标记,只要您不循环添加图层,您应该没问题。愚蠢的错误!

关于gmap.net - 有很多标记的 Gmap 性能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54046697/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com