为啥我的浏览器上的谷歌地图一直在加载? (德尔福 XE6 和安卓)
Posted
技术标签:
【中文标题】为啥我的浏览器上的谷歌地图一直在加载? (德尔福 XE6 和安卓)【英文标题】:Why google maps on my WebBrowser keep loading ? (Delphi XE6 and Android)为什么我的浏览器上的谷歌地图一直在加载? (德尔福 XE6 和安卓) 【发布时间】:2014-08-01 14:46:43 【问题描述】:我正在使用简单的代码在手机上显示谷歌地图。 添加 TLocationSensor,设置属性 Active 为 True。
添加 LocationChanged 事件处理程序:
procedure TLocationForm.LocationSensor1LocationChanged(Sender: TObject;
const OldLocation, NewLocation: TLocationCoord2D);
begin
WebBrowser1.Navigate(
Format(
'https://maps.google.com/maps?q=%s,%s',
[NewLocation.Latitude.ToString, NewLocation.Longitude.ToString]
)
);
end;
为什么我的浏览器一直在加载?
【问题讨论】:
因为您的位置不断变化。 触发此事件时,保存您的位置并与之前保存的值进行比较。仅当这些值发生有意义的变化时才加载页面。 @LeonardoHerrera:或者使用计时器?例如,每 1 分钟更新一次。如果与之前的值比较,那么我应该确定之前的值的范围内和范围外? 【参考方案1】:当位置发生变化时,您会加载整个页面。 相反,您应该加载页面一次,然后通过 javascript 将地图居中。 它应该类似于 map.setCenter() ,您可以在其中传递当前的纬度/经度。
【讨论】:
有趣!这就是为什么每次我拖动地图时,它都会消失(网络浏览器变为空白)并再次开始加载地图的原因。谷歌地图应用程序中没有发生此行为。以上是关于为啥我的浏览器上的谷歌地图一直在加载? (德尔福 XE6 和安卓)的主要内容,如果未能解决你的问题,请参考以下文章