我正在使用谷歌图表地图,但是当我尝试绘制地图时,它会将404的几个错误记录到他们的服务器上。但是,我很确定我正在使用API。与此相关的唯一信息我可以找到人们在maps.google.com上使用旧的未记录的API,这在他们的教程页面上没有发生。我无法弄清楚我做错了什么? 下面的代码和控制台供参考:
DECLARE @colsUnpivot AS NVARCHAR(MAX)
,@tablename as varchar(255)='table1',
@columns as varchar (max),
@SQL VARCHAR(max)
select @colsUnpivot = stuff((select ',LTRIM('+quotename(C.name)+')'
from sys.columns as C
where C.object_id = object_id(@tablename) and
C.is_computed=0
for xml path('')), 1, 1, '')
SET @columns=@colsUnpivot
SET @SQL = '(SELECT '+@columns+' FROM [dbo].['+@tablename+'] )';
EXEC(@SQL)
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);
}
答案 0 :(得分:3)
你没有做错任何事。
问题:API尝试在视口内绘制所有标记。 为了能够实现它,API计算缩放级别。 使用单个标记,如示例所示,它将使用最大缩放(似乎是22,请注意损坏的URL中的z参数)。 当API加载一个磁贴时,它没有检查磁贴是否存在(因此可能会发生请求返回404,它经常发生)
稍后,API会请求ViewPortService(您还会在网络标签中看到请求)。此请求返回有关给定ViewPort的可用数据的信息,尤其是可用的磁贴(例如卫星图像)。
在此请求之后,您将看到与URL相似的URL的更多请求,但具有不同的z参数(例如,20)。这意味着:ViewPortService已检测到对于给定的ViewPort卫星图像仅可用于缩放20,因此地图的缩放将设置为20,现在可以加载切片。
忽略404s