我已经检查了关于 Google Maps V3 的所有主题都没有出现,但它们都不适合我的场景。我正在为 DotNetNuke 7x 开发一个模块,我首先在 Google Maps V3 API 代码示例页面上使用 Simple Map 样板代码编写了一个直接的 html 页面。当我通过我的 DNN 应用程序导航到我的 html 页面时,它工作正常。
接下来我把那个代码放到我的 ascx 控件中。在 Page Context Initialized 中,我在 head 标签中注入了必要的代码,查看源代码显示它是正确的。一段代码是谷歌地图声明,另一段是js包含文件。
当我运行它时,javascript 控制台中没有关于此的错误。但是地图根本不显示。该区域被封锁了,我确实给了它一个宽度和高度,但是没有地图。
以下是它通过视图源的外观:
在头部标签中:
<script type="text/javascript" src="http://maps.google.com/maps/api/js?key=MYAPIKEY&sensor=false"></script>
<script src="/MyOnlineMarketingHub/DesktopModules/UCU_Organization/js/JScript2.js" type="text/javascript"></script>
JScript2.js 文件内容:
var map;
function initialize() {
var mapOptions = {
zoom: 8,
center: new google.maps.LatLng(-34.397, 150.644),
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById('map-canvas'),
mapOptions);
}
google.maps.event.addDomListener(window, 'load', 初始化);
在身体里:
<div id="map_canvas" style="height:250px; width:350px;"></div>
我能想到的唯一区别是 Google 示例中的 html5 文档类型,但 DNN 使用 XHTML 文档类型——但是我无法更改它,因为使用此模块的任何人都必须进入并更改任何文档类型他们使用它的皮肤。
有谁知道为什么这不起作用?
提前致谢。