有时候要取地图的坐标点,但是手动输入数字不准确且取值困难,想到用控件来实现;
贴代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Windows.Forms;
using System.Reflection;
using System.Resources;
using System.Runtime.InteropServices;
namespace DataGenerateControl
{
[ComVisible(true)]
[DefaultEvent("CenterChanged")]
public partial class LatLngPicker : UserControl
{
public LatLngPicker()
{
InitializeComponent();
if (LicenseManager.UsageMode == LicenseUsageMode.Runtime)
{
Assembly myAssem = Assembly.GetExecutingAssembly();
ResourceManager rm = new ResourceManager(typeof(LatLngPicker));
string html = rm.GetObject("baidumap").ToString();
webBrowser1.ObjectForScripting = this;
webBrowser1.ScriptErrorsSuppressed = false;
webBrowser1.IsWebBrowserContextMenuEnabled = false;
webBrowser1.DocumentText = html;
}
}
public event EventHandler<LatLngChangedEventArgs> CenterChanged;
public event EventHandler OnHtmlLoad;
public double Lat
{
get; set;
}
public double Lng
{
get; set;
}
public void SetCenter(double lat, double lng)
{
CallJs("setCenter", lat, lng);
}
private void CallJs(string Method, params object[] param)
{
webBrowser1.D