谷歌地图API - 缓慢的最大缩放服务

3

我正在使用谷歌地图API的Max Zoom服务获取给定坐标的最大缩放级别。大多数情况下,它很快,每个请求只需要大约150毫秒。但是,有时服务会变得极慢,需要大约20秒。

maxZoomService = new google.maps.MaxZoomService();
maxZoomService.getMaxZoomAtLatLng(center, function(response) {

// my process

});

你有类似的问题吗?

请查看我对此问题的解决方案:http://stackoverflow.com/a/36591458/3413103 - dcalde
1个回答

0

是的,我们也遇到了同样的问题。 我们使用wkhtmltoimage生成地图图像,以便将其包含在使用wkhtmltopdf生成的PDF文件中。 我们必须设置一个最大时间来生成图像。如果时间太短,那么您通常不会下载所有地图瓦片以创建图像。时间太长,用户会有明显的延迟(对于我们的连接,5秒似乎是最佳选择)。 我们想确保生成的卫星地图不超过最大缩放级别,使用MaxZoomService时,我们遇到了该服务的问题。

由于它是异步服务,理想情况下,在创建地图并触发正确的.map瓦片下载之前,我们等待服务报告最大缩放级别。

为地图设置默认的“回退”缩放级别,以防服务非常缓慢,这不是一个真正的选项,因为在从服务获取返回值后更新缩放级别通常会导致重新加载新的瓦片,需要更多的延迟...

如果像我们一样,您对特定的可重复位置(例如来自数据库)感兴趣,则一个选项可能是预先缓存(存储)最大缩放级别,并定期检查更新的值。

在我们的特定情况下,唯一的其他选择是允许服务特定的时间(比如2秒),如果它没有响应,那么就回退到默认缩放级别。
虽然不是理想的解决方案,但可以处理服务的“糟糕时刻”...

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接