gpt4 book ai didi

html - 检索沿谷歌地图路线的所有地址信息

转载 作者:行者123 更新时间:2023-11-28 03:42:29 24 4
gpt4 key购买 nike

我正在使用 VB.NET 开发一个 Windows 窗体应用程序,它允许用户通过 Web 浏览器在 Google map 上查找地址。我还可以成功地向用户显示两点之间的方向,并允许用户随意拖动路线。我现在的问题是 - 我是否有可能获得路线的纬度/经度信息,即编码纬度/经度点的 overview_polyline 数组并将其保存到例如我电脑上的文本文件?或者是否有可能在整个路线长度上获得位于路线两侧的所有地址的列表,然后将数据保存到我计算机上的文件中?我正在使用 HTML 文件访问和显示 Web 浏览器项目中的 Google map 数据。

谢谢

最佳答案

如果您只是寻找屏幕坐标,这实际上非常简单。

// this probably should be in your form initialization 
this.MouseClick += new MouseEventHandler(MouseClickEvent);


void MouseClickEvent(object sender, MouseEventArgs e)
{
// do whatever you need with e.Location
}

如果你严格在浏览器中寻找点,你需要考虑功能

browser.PointToClient(); 
browser.PointToScreen();

因此,如果您确切知道表单的位置(很容易获得其坐标)以及网络浏览器控件的位置(也很容易获得坐标,因为它只是您表单中的一个控件),那么此方法是有用的,然后,只要您知道从左或右开始显示多少像素,从顶部或底部开始显示图像,一旦获得全局鼠标点击坐标(这很容易),您就可以预测它在图像上的点击位置.

或者,这里有一些更可怕或更丑陋的方法......

您可以使用 ObjectForScripting 属性在网络浏览器中嵌入代码来执行此操作。至少可以说是丑陋的。 MSDN 在此处提供了一些有关此过程的文档:http://msdn.microsoft.com/en-us/library/system.windows.forms.webbrowser.objectforscripting.aspx

因为它真的很丑,也许更好的解决方案是使用 AxWebBrowser - 它也很丑但没那么可怕。

此外,我发现有人想在 pdf 文档上做这个帖子,MSFT 的人说这是不可能的,但实际上他想说的是它不是内置的,即使有如果您使用我描述的第一种方法,pdf 文档仍然有可能以高精度预测它被点击的位置。无论如何,这是帖子:http://social.msdn.microsoft.com/Forums/en/csharpgeneral/thread/2c41b74a-d140-4533-9009-9fcb382dcb60

但是,这是可能的,并且有几种方法可以做到,所以不要被我给你的最后一个链接吓到。

此外,如果您想在 javascript 中执行此操作,这篇文章可能会有所帮助: http://www.devx.com/tips/Tip/29285

基本上,您可以通过网络浏览器控件中可用的方法在图像上添加一个属性,您可以添加类似 onclick="GetCoords();"的内容所以当它被点击时,JavaScript 函数将获得坐标,然后你可以使用 JavaScript 将值放在一个隐藏的输入字段中(输入类型=“隐藏”),你可以通过网络浏览器控件添加它,或者如果有一个已经在页面上,你可以使用它。因此,一旦您使用 javacript 将坐标放入该输入字段,您就可以使用网络浏览器控件轻松获取其中的值,例如:

webbrowser1.document.getElementById("myHiddenInputField").value

这将获取您通过 JavaScript 设置的该字段中的值。此外,我提到的“GetCoords()”函数在我上面提供的 javascript 方法链接中称为 SetValues()(在 devx.com 站点中),但我将其命名为 GetCoords 是因为它更有意义并且不想让您感到困惑使用他们使用的实际名称,您当然可以将其更改为您想要的任何名称。这是他们使用的 javascript,这只会将坐标放入变量中,不会将其放入隐藏的输入字段中,我们还需要这样做(在 javascript SetValues/GetCoords 函数的末尾)。

function SetValues()
{
var s = 'X=' + window.event.clientX + ' Y=' + window.event.clientY ;
document.getElementById('divCoord').innerText = s;
}

这些家伙只是将它保存在一个 div 元素中,这对用户可见,但是如果你想使用 div 字段,你可以使 div 不可见,这样做没有优点或缺点,你只需要使用 javascript 或 css 将 visible 属性设置为 false,但是,使用隐藏的输入字段仍然更容易,因此您不需要搞乱这些。

让我知道你相处得怎么样。

关于html - 检索沿谷歌地图路线的所有地址信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9510827/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com