javascript - 谷歌地图的范围

标签 javascript delphi google-maps

我有一个在 TWebBrowser 中加载 Google map 的 Delphi 应用程序:

with WebBrowser1.Document as IHTMLDocument2 do
  with parentWindow do
    ExecScript('map.setCenter(new GLatLng(51.15917, 4.13889),10)', 'JavaScript');

知道如何在我的应用程序中获取 map 的范围吗?
TIA
史蒂文

编辑
Rob 的回答指向了一个部分解决方案:javascript 知道坐标。我想让它们进入我的 Delphi 应用程序。

专家交流注意事项
(对 davidins 回复的长回答)
当他们开始时我在 Expert's Exchange 上,当时它仍然免费。当他们变得贪婪时,我离开了那里。 如果有人好心帮我解决技术问题,我不介意为此请他喝一杯,但我绝对不想为此付钱给其他人
他们的 30 天试用期更糟。如果他们不收款,为什么我必须提交我的信用卡号?
“Experts Exchange 是互联网上最值得信赖的 IT 资源,我们相信您会同意”(原文如此)。好吧,我不太确定,EE。我更喜欢 SO,感谢我能得到的任何帮助,并尽可能尝试给出答案(不幸的是,这种情况并不常见)。

最佳答案

我打算建议您使用 javascript 知道坐标的事实,以某种方式通过该调用执行脚本,以便将坐标返回到您的应用程序。但是,在查看此线程后 - expert's exchange ,这似乎是不可能的。但同一个线程说“您可以让您的 JavaScript 函数设置 HTML 隐藏字段元素的值,然后从您的 Delphi 代码中读取该值。”这个例子是向下的。希望这有点帮助。不过绝对不是获取坐标的理想方式。

编辑:抱歉,我没有意识到当你从这里去专家交流时,它会屏蔽内容。如果你从谷歌访问那个页面,它就会出现。只是为了节省您的时间,这里是解决方案的复制和粘贴:

拖放区: 我认为没有办法直接获取 JavaScript 函数的值,因为函数是通过各种神奇的抽象层执行的。但是,您可以让 JavaScript 函数设置 HTML 隐藏字段元素的值,然后从 Delphi 代码中读取该值。

第一部分非常简单:您只需让 JavaScript 函数在隐藏字段上设置值:



<!-- Somewhere in the HTML form -->
<input type="hidden" id="HiddenFieldID" name="HiddenFieldName" value="">

--------------------

// JavaScript function
function MyFunc()
{
     // Get the hidden field by its ID.
     var elm = document.getElementById('HiddenFieldID');
     if (elm) elm.value = '10086';

     return 10086;
}

这是关于如何执行最后一部分的示例: http://www.cryer.co.uk/brian/delphi/twebbrowser/read_write_form_elements.htm#GetValueOfField

在您的情况下,您将需要类似附加代码的内容。

-dZ.


function GetFieldValue(fromForm: IHTMLFormElement;
    const fieldName: string): string;
var
  field: IHTMLElement;
  inputField: IHTMLInputElement;
  selectField: IHTMLSelectElement;
  textField: IHTMLTextAreaElement;
begin
  field  := fromForm.Item(fieldName,'') as IHTMLElement;
  result := '';
  if Assigned(field) and (field.tagName = 'INPUT') then
  begin
    inputField := field as IHTMLInputElement;
    if inputField.type_ = 'hidden' then
      result := inputField.value;
  end
end;

关于javascript - 谷歌地图的范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1087912/

相关文章:

javascript - jQuery 绑定(bind)点击立即触发

javascript - 标签系统 - 点击 Laravel 按标签搜索

delphi - 阅读当前项目Delphi 2010的数据版本

java - 应用程序被强制关闭

javascript - 选中复选框时显示按钮

javascript - POST 请求提示已成功,但未发送数据

multithreading - {DCC 警告} W1036 变量 '$frame' 可能尚未初始化?

delphi - 使用单独的调试信息文件有哪些优点?

iphone - 在 MKMapView 上隐藏 Google Logo

javascript - 谷歌地图替代道路以不同颜色显示