求高人指点:在wpf把离线地图已经加载进来了,想在地图上实现图层效果,大概效果如下:
这个是wpf 下的效果,可以随着鼠标滚轮,地图变大小图层也随着变大小
我想在wpf下实现当鼠标放在图层上时显示文本信息,当鼠标进入图层时图层的颜色改变,有哪位大神看见帮个忙我这边着急。
最好有代码谢谢了,现在图层可以显示出来就是不知道怎么显示文本信息和改变图层颜色。
图层是可以随地图的放大和缩小的。
试试这个:
public PointLatLng createPointLatLngFromCenterMiles(double DistanceMiles) { PointLatLng distancePoint = new PointLatLng(); //xMeter = xMeter / 1000; double earthRadius = 3958.0; double lat = this.Lat * (Math.PI / 180); double lon = this.Lng * (Math.PI / 180); double d = DistanceMiles / earthRadius; double brng = 360 * (Math.PI / 180); var latRadians = Math.Asin(Math.Sin(lat) * Math.Cos(d) + Math.Cos(lat) * Math.Sin(d) * Math.Cos(brng)); var lngRadians = lon + Math.Atan2(Math.Sin(brng) * Math.Sin(d) * Math.Cos(lat), Math.Cos(d) - Math.Sin(lat) * Math.Sin(latRadians)); distancePoint.Lat = latRadians * 180 / Math.PI; distancePoint.Lng = lngRadians * 180 / Math.PI; return distancePoint; } public PointLatLng createPointLatLngFromCenterKilometers(double DistanceKilometers) { PointLatLng distancePoint = new PointLatLng(); //xMeter = xMeter / 1000; double earthRadius = 6367.0; double lat = this.Lat * (Math.PI / 180); double lon = this.Lng * (Math.PI / 180); double d = DistanceKilometers / earthRadius; double brng = 360 * (Math.PI / 180); var latRadians = Math.Asin(Math.Sin(lat) * Math.Cos(d) + Math.Cos(lat) * Math.Sin(d) * Math.Cos(brng)); var lngRadians = lon + Math.Atan2(Math.Sin(brng) * Math.Sin(d) * Math.Cos(lat), Math.Cos(d) - Math.Sin(lat) * Math.Sin(latRadians)); distancePoint.Lat = latRadians * 180 / Math.PI; distancePoint.Lng = lngRadians * 180 / Math.PI; return distancePoint; }
麻烦问下,你的这段代码是实现什么功能,是在计算地图中心点的坐标是吗
@佐佐: 对,下面的连接有其余的功能。
@【Arnold】: 谢谢 ,我现在地图已将可以用了,想在地图上班加图层,GMapPolygon 类中RegenerateShape方法应该是恢复多边形的,但是还却什么呢?才能将图层显示出来?
请问你实现了自定义标签么?