Iis “地球化学艺术”;“请求的地图不存在”;部署时
通过使用visualization API,我能够获得秘鲁的本地地图(按省份),并在本地开发应用程序时使其正常工作 用于显示地图的代码如下所示:Iis “地球化学艺术”;“请求的地图不存在”;部署时,iis,visual-studio-2012,google-visualization,Iis,Visual Studio 2012,Google Visualization,通过使用visualization API,我能够获得秘鲁的本地地图(按省份),并在本地开发应用程序时使其正常工作 用于显示地图的代码如下所示: function cargarMapa(departamento) { var data = google.visualization.arrayToDataTable([ ['City'], [departamento] ]); var options = { region:
function cargarMapa(departamento)
{
var data = google.visualization.arrayToDataTable([
['City'],
[departamento]
]);
var options = {
region: 'PE',
displayMode: 'regions',
resolution: 'provinces',
colorAxis: { colors: ['green'] },
width: 465,
height: 225
};
var geochart = new google.visualization.GeoChart(
document.getElementById('geochart_div'));
geochart.draw(data, options);
}
在我的电脑中工作时,它就像一种魅力:
例如:
每当我运行应用程序(我使用Visual Studio 2012和IIS 8)时,以及当我在笔记本电脑上部署应用程序时(仅供参考,我在大学网络中这样做时),它都会工作。但是,当我在我所在大学的本地服务器(IIS 7.5)中部署此服务器时,会出现以下错误:
仅供参考,我使用了可视化API中的其他图表,它们可以完美加载
代码是完全相同的,那么问题是什么呢
提前谢谢 您遇到的问题是这一行:
google.setOnLoadCallback(cargarMapa(departamento));
当您在函数名后面包含()
时,您正在调用该函数,该函数立即执行并返回一些值(null
对于cargarMapa
)google.setOnLoadCallback(null)
什么都不做,在加载API之前调用cargarMapa
会导致问题,其中一个问题是您的地图尚未加载
要解决此问题,请创建一个调用cargarMapa(departamento)的新函数代码>:
并将其设置为回调:
google.setOnLoadCallback(init);
请注意,init
之后没有括号(()
)-这将函数init
作为参数传递给回调处理程序,就像变量一样(从技术上讲,在javascript中,函数和变量是一样的-它们都是对象)。如果代码在笔记本电脑上运行,如果您没有运行任何可能导致问题的特殊服务器端代码,我倾向于认为问题要么与网络相关,要么您没有正确加载API。你的大学服务器上有我可以测试的面向公众的页面吗?你能发布整个HTML代码吗?这样我就可以检查你是否正确加载了API?它没有公共页面,但我一回到家就会提供其余的页面。Thanksgoogle.com/jsapi“>google.load('visualization'、'1.0'、{'packages':['corechart、geochart、gauge、timeline']});您加载的包是错误的。每个包都是字符串数组中的单个字符串;不应将它们集中到一个逗号分隔的字符串中:['corechart','geochart','gauge','timeline']
您没有发布如何调用cargarMapa
函数,因此您还应该检查以确保只有在API完成加载后才调用它(通常在google loader的回调处理程序中调用draw函数)。
google.setOnLoadCallback(init);