ric*_*tep 7 delphi google-maps
我需要能够从非Web应用程序访问Google Maps API.我在Google地图的常见问题解答中看到这是可能的.但是,我找不到任何从基于PC的应用程序访问API的参考.有人能指出我正确的方向吗?
(如果有帮助的话,我想从Delphi应用程序访问API.)
提前致谢.
RRU*_*RUZ 15
前段时间我写过一系列关于使用Delphi的Google maps API v3的文章,基本上你需要一个TWebBrowser组件并加载带有JavaScript代码的HTML页面来处理Google Maps JavaScript API v3.从这里使用IHTMLWindow2.execScript和MSHTML接口等功能,您可以与JavaScript代码和Delphi的Google Maps API响应进行交互.
另外看看这些项目
如果您有朝这个方向的认真计划:
忘记Google Maps API,并改用OpenLayers.
相信我,我有这方面的实践经验.我已经创建了无数的交互式映射网站和应用程序,并且我编写了将Google Maps功能包装到Delphi组件中的代码.您可以在Google代码上找到它们:http://code.google.com/p/delphimaps/
你也可以在这里找到我用这些组件的早期版本制作的一些示例应用程序:从我的Delphi应用程序中使用Googlemap?
OpenLayers更加通用,它是完全开源的,它背后有一个完整的社区.它甚至可以使用谷歌地图,但您可以轻松切换到OpenStreetMaps,Yahoo,Bing或您自己的GIS系统.
网上有很多例子,你并没有被谷歌强加的愚蠢规则所束缚.例如,如果您想通过安全(HTTPS)连接使用Google地图,则必须付费.我再也不会直接使用Google Maps API了,自从我开始使用OpenLayers以来,我的GIS网站变得更好了.
也许有一天我应该将OpenLayers包装成Delphi组件,但我现在用JavaScript做大部分工作,并且只在真正需要的时候与我的Delphi应用程序通信,所以即使使用包含地图的Delphi应用程序,也没有太多的GIS内容在德尔福.结果证明更容易维护.
..
此外,OpenLayers不需要任何互联网连接.它可以在您的离线浏览器中100%运行.Google地图要求您建立互联网连接,因为它会动态下载部分代码,并且始终要从Google下载地图.
小智 5
如果您正在寻找使用Delphi的Google Maps API的完整解决方案,我强烈推荐使用Delphi Framework for Google Maps.它允许使用所有 API函数,而无需单行HTML或JavaScript.
例如:
procedure TForm1.FormShow(Sender: TObject);
begin
with Script(WebBrowser1) do
if not APILoaded
then LoadAPIAsync(InitMap);
end;
procedure TForm1.InitMap(Sender: TObject);
var
MapOptions: TMapOptions;
begin
with Sender as TScript do
begin
MapOptions:=New(Google.Maps.MapOptions);
with MapOptions do
begin
Zoom:=8;
Center:=New(Google.Maps.LatLng(-34.397,150.644));
MapTypeID:=Google.Maps.MapTypeID.Roadmap;
end;
New(Google.Maps.Map(MapOptions));
end;
end;
Run Code Online (Sandbox Code Playgroud)
路线规划师也很容易获得.有一些演示.
不幸的是,您仍然必须从德国论坛下载它.一个单独的网站正在建设中.如果注册或下载有问题,我可以发送带有框架的电子邮件.
问候
| 归档时间: |
|
| 查看次数: |
9411 次 |
| 最近记录: |