2015-12-01 103 views
0

我有我的.Net GMap在離線的問題,它需要太多的時間和空間來下載所有的瓷磚從4到13的4個縮放級別。所以我想通了,也許我可以使用1'000x1'000行將國家/地區分割(切片),如果放置標記並僅下載該瓷磚,則在每個瓷磚中會顯示1'000'000塊(瓷磚)外觀。但主要問題是我不知道如何分割(切片)虛擬國家地圖或類似的東西。也許有人有一些想法或已經做了這樣的事情?.Net GMap切片地圖分成小塊

回答

0

由於標記是從GMapMarker類派生的,因此可以遍歷標記集合對象中的所有標記。

每個標記都有一個Position屬性。由於您現在知道標記的緯度和經度,因此可以使用FromLatLngToPixel和FromPixelToTileXY函數來導出圖塊的X和Y值。在下面的C#示例中,您將能夠從瓦片對象中獲取X和Y瓦片值。

var px = MainMap.MapProvider.Projection.FromLatLngToPixel(marker.Position.Lat, marker.Position.Lng, (int)gmap.Zoom); 
var tile = MainMap.MapProvider.Projection.FromPixelToTileXY(px); 

然後從服務器獲取的瓷磚,看TilePrefetcher類是如何處理的X,Y值來獲得瓦。查看TilePrefetcher類中的worker_DoWork事件處理程序。