我正在使用谷歌图表 map ,但是,当我尝试绘制 map 时,它会向服务器记录几个 404 错误。不过,我很确定我正确使用了 API。我能找到的与此相关的唯一信息是当人们在maps.google.com上使用旧的未记录的API时,这不会发生在他们的教程页面上。我无法弄清楚我做错了什么? 下面的代码和控制台供引用:
google.load('visualization', '1', { 'packages': ['map'] });
google.setOnLoadCallback(drawGoogleMap);
function drawGoogleMap() {
var data = google.visualization.arrayToDataTable([
['Lat', 'Long'],
[21.3117, -157.8]
]);
var options = {
enableScrollWheel: true,
useMapTypeControl: true
};
var map = new google.visualization.Map(document.getElementById("main"));
map.draw(data, options);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<script type="text/javascript" src="https://www.google.com/jsapi?autoload={'modules':[{'name':'visualization','version':'1','packages':['map']}]}"></script>
<div id="main" class="chart_div container">
</div>
最佳答案
你没有做错任何事。
问题:API 尝试在视口(viewport)内绘制所有标记。 为了实现这一点,API 会计算缩放级别。 对于示例中的单个标记,它将使用最大缩放(似乎是 22,请注意损坏的 URL 中的 z 参数)。 当API加载瓦片时,它没有检查瓦片是否存在(因此可能会发生请求返回404,这种情况经常发生)
稍后,API 请求 ViewPortService(您还将在网络选项卡中看到该请求)。此请求返回有关给定 ViewPort 的可用数据的信息,特别是可用图 block (例如卫星图像)。
在此请求之后,您将看到对与损坏的 URL 类似的 URL 的进一步请求,但具有不同的 z 参数(例如 20)。这意味着:ViewPortService 已检测到对于给定的 ViewPort 卫星图像仅可用于缩放 20,因此 map 的缩放将设置为 20,现在可以加载图 block 。
忽略 404
关于javascript - 谷歌地图 404 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31798332/