成都网站建设设计

将想法与焦点和您一起共享

包含gmap.netvb的词条

GMAP.NET 怎么把接收到的坐标转换为地图上的marker?

1)从两个textbox分别输入的经度和纬度,则可以按以下方式转换

成都创新互联公司是一家专注于成都网站设计、网站制作与策划设计,五莲网站建设哪家好?成都创新互联公司做网站,专注于网站建设十余年,网设计领域的专业建站公司;建站业务涵盖:五莲等地区。五莲做网站价格咨询:18982081108

double lat = double.Parse(txtLatitude.Text);

double lng = double.Parse(txtLongitude.Text);

//得到Marker点的PointLatLng

PointLatLng p = new PointLatLng(lat, lng);

2)从两个textbox分别输入的相对于地图控件左上角的屏幕坐标(像素),则可以按以下方式转换

int x = int.Parse(txtPosX.Text);

int y = int.Parse(txtPosY.Text);

//得到Marker点的PointLatLng

PointLatLng p = mapControl.FromLocalToLatLng(x, y);

3)假设地图上有一个marker

//获得marker的地理坐标

PointLatLng p = marker.Positon;

//将地理坐标转换成屏幕坐标

GPoint gp = mapControl.FromLatLngToLocal(marker.Position);

long x = gp.X;  //marker点先对与地图控件左上角的x

long y = gp.Y;  //marker点先对与地图控件左上角的y

如何画出圆在C#中使用GMAP.NET的地图

这是我知道的唯一途径能取得这样的成绩是创建PointLatLng点列表,并绘制这些多边形。下面是一个例子。

私人无效CreateCircle(的PointF点,双半径,INT段)

{

文件清单 PointLatLng gpollist =新的List PointLatLng();

双SEG = Math.PI * 2 /段;

INT Y = 0;

的for(int i = 0; I段;我++)

{

双THETA =赛格*我;

双A = point.x + Math.cos(THETA)*半径;

双B = point.y + Math.sin(THETA)*半径;

PointLatLng GPOI =新PointLatLng(A,B);

gpollist.Add(GPOI);

}

GMapPolygon gpol =新GMapPolygon(gpollist“POL”);

overlayOne.Polygons.Add(gpol);

}

GMap.net 离线地图问题

离线地图导出后,要自己加载的,并不是那个目录下的,C:\Users\用户名你的计算机用户名\AppData\Local\GMap.NET\TileDBv5\en下的那个文件包含缓存的。

代码如下:

MapManagerLoader.Instance.Load(ConfigurationManager.AppSettings["MapData"]); // 载入离线地图数据,MapData自己在appSetting中定义

this.MainMap.Manager.Mode = AccessMode.CacheOnly; //地图读取模式:服务器/本地缓存

其中MapManagerLoader代码如下:

using System.Threading;

using GMap.NET;

namespace Client.WPF.Util

{

public class MapManagerLoader

{

private static readonly MapManagerLoader _instance = new MapManagerLoader();

public static MapManagerLoader Instance

{

get { return _instance; }

}

private MapManagerLoader()

{

}

private bool _isLoaded;

public bool Load(string fileName)

{

if (!_isLoaded)

{

new Thread(() = GMaps.Instance.ImportFromGMDB(fileName)).Start();

_isLoaded = true;

}

return _isLoaded;

}

}

}

gmap.net能不能点击地图上的一个建筑物,显示该建筑物的信息?有这个功能吗?

GAMP.NET没有提供这个功能,你可以编程实现。

1)向GMapControl控件添加一个GMapOverlay层

2)采用默认的GMarker来标注你感兴趣的建筑物

3)点击GMarker时,由你提供该建筑物内人员、建筑面积等信息,然后用GMapToolTip显示这些信息。


本文题目:包含gmap.netvb的词条
文章分享:http://chengdu.cdxwcx.cn/article/doececp.html