如何在winform中 导入地图实现定位功能 ?
从网上下个BaiDuMap.htm, 就是个js文件
在form中加入webBrowser控件,然后在窗体的加载事件中写入如下代码
webBrowserMap.Url = new Uri(Path.Combine(Application.StartupPath, "BaiDuMap.htm"));
接着运行,form中对应webBrowser控件可显示js文件的内容 ,即百度地图。
在js 文件中 有这样一段代码
function setLocation(x,y,z){//参数:经纬度
var point_Lo = new BMap.Point(x, y);
map.centerAndZoom(point_Lo, 11);
map.addOverlay(new BMap.Marker(point_Lo));
var marker = new BMap.Marker(new BMap.Point(x , y)); // 创建标注,为要查询的地方对应的经纬度
map.addOverlay(marker);
var content = z + "<br/><br/>经度:" + x + "<br/>纬度:" + y;
var infoWindow = new BMap.InfoWindow("<p style=‘font-size:14px;‘>" + content + "</p>");
marker.addEventListener("click", function () { this.openInfoWindow(infoWindow); });
就是定位用的,form中通过
webBrowserMap.Document.InvokeScript("setLocation", new object[] { lon , lat ,Name});
来调用定位代码,实现定位功能